And*_*s01 3 c# visual-studio-2005 list c#-2.0
我使用Microsoft Visual Studio 2005与.NET 2.0.我有一个用于选择产品的组合框.在我选择一个产品后,我在一个文本文件中搜索它 - 最后我想在文件中找到该产品的行.但是使用以下代码
int lineNo = lineList.IndexOf(lineList.Find(x => x.StartsWith(select)));
Run Code Online (Sandbox Code Playgroud)
编译器给出错误:
Invalid expression term '>'
Run Code Online (Sandbox Code Playgroud)
这是.NET框架版本的问题吗?
Jon*_*eet 14
我使用Microsoft Visual Studio 2005和2.0 Net.
这意味着你正在使用C#2.
但是你正在尝试使用lambda表达式(=>) - 这是C#3中引入的一个特性.它不是你正在使用的框架版本- 你可以在VS2008或更高版本中编写相同的代码,仍然以.NET 2为目标.这是您正在使用的语言版本.
您可以使用匿名方法在C#2中执行类似的操作:
int lineNo = lineList.IndexOf(lineList.Find(delegate(String x)
{
return x.StartsWith(select);
}));
Run Code Online (Sandbox Code Playgroud)