3

Microsoft Visual Studio 2005 と .NET 2.0 を使用しています。製品を選択するために使用するコンボボックスがあります。製品を選択した後、テキスト ファイルで検索しています。最終的には、ファイル内でその製品の行を見つけたいと考えています。ただし、次のコードでは

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

コンパイラはエラーを出します:

Invalid expression term '>' 

これは .NET の 2.0 フレームワーク バージョンの問題ですか?

4

2 に答える 2

15

2.0 Net で Microsoft Visual Studio 2005 を使用しています。

これは、C# 2 を使用していることを意味します。

しかし、ラムダ式 ( ) を使用しようとしています=>。これは 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ラムダ式は、C#言語の開始バージョンでサポートされています。framework 2.0 + Vs 2005ペアは を使用しますc# 2.0

于 2012-07-27T08:28:15.577 に答える