【问题标题】: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 框架版本的问题吗?

【问题讨论】:

    标签: c# list visual-studio-2005 c#-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

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 2020-09-23
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多