无效的表达式术语“>”
Posted
技术标签:
【中文标题】无效的表达式术语“>”【英文标题】:Invalid expression term '>' 【发布时间】:2012-07-27 08:25:49 【问题描述】:我正在使用带有 .NET 2.0 的 Microsoft Visual Studio 2005。我有一个用于选择产品的组合框。选择产品后,我在文本文件中搜索它——最后我想在文件中找到该产品的行。但是使用以下代码
int lineNo = lineList.IndexOf(lineList.Find(x => x.StartsWith(select)));
编译器给出错误:
Invalid expression term '>'
这是 .NET 2.0 框架版本的问题吗?
【问题讨论】:
【参考方案1】:我使用 Microsoft Visual Studio 2005 和 2.0 Net。
这意味着您使用的是 C# 2。
但是您正在尝试使用 lambda 表达式 (=>
) - C# 3 中引入的一个功能。它不是您正在使用的 framework 版本 - 您可以编写VS2008 或更高版本中的相同代码,仍然针对 .NET 2。这是您正在使用的语言的版本。
您可以在 C# 2 中使用匿名方法执行类似的操作:
int lineNo = lineList.IndexOf(lineList.Find(delegate(String x)
return x.StartsWith(select);
));
【讨论】:
是的。所以我必须另谋出路? 这就是您对半百万声誉用户的期望:不仅是解释为什么不工作 - 而且是一个适当的解决方法。 :-)【参考方案2】:C#
语言的起始版本 3.0
支持 Lambda 表达式。 framework 2.0 + Vs 2005
对使用 c# 2.0
。
【讨论】:
以上是关于无效的表达式术语“>”的主要内容,如果未能解决你的问题,请参考以下文章
如何解决此错误:二进制表达式的操作数无效('std::vector<double>' 和 'double')?