3

我正在使用带有 .NET 2.0 的 Microsoft Visual Studio 2005。我有一个用于选择产品的组合框。选择产品后,我在文本文件中搜索它——最后我想在文件中找到该产品的行。但是使用以下代码

int lineNo = lineList.IndexOf(lineList.Find(x => x.StartsWith(select)));

编译器给出错误:

Invalid expression term '>' 

这是.NET 2.0 框架版本的问题吗?

4

2 回答 2

15

我使用 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);
}));
于 2012-07-27T08:27:29.743 回答
4

3.0支持 Lambda 表达式的C#语言起始版本。这framework 2.0 + Vs 2005对使用c# 2.0.

于 2012-07-27T08:28:15.577 回答