Visual Studio 2008を使用していて、.NET 2.0アプリケーションをターゲットにしている場合でも、ラムダ式を使用できますか?ラムダ式の私の理解は、フレームワークではなくコンパイラに組み込まれた機能なので、私の結論は.NET 2.0アプリケーションでラムダを使うことができるということです。これがそうであれば誰かに教えてもらえますか?VB.NETラムダ式
5
A
答えて
12
はいこれは完全にサポートされています。式ツリーを構築したり、System.Core、System.Xml.Linqなどを参照しない限り、ラムダ式をターゲット2.0アプリケーションで使用することは完全に正当です。これは、VS2008(VB9)で導入された他のコンパイラ機能にも当てはまります。
EDIT
いくつかの答えが間違ってラムダ式は、3.5または3.0の機能の特徴であることを述べます。ラムダ式は、フレームワークではないコンパイラ機能です。それらは機能するためにフレームワークサポートを必要とせず、2.0に向けられたアプリケーションでそれらを使用することは完全に合法です。
問題が発生する唯一の場所は、ラムダを式ツリーとして使用した場合です。式ツリーはコンパイラとフレームワークの両方の機能であり、正しく機能するには3.5が必要です。しかし、私たちが積極的に起こらないようにするためには、これを可能にするために懸命に働かなければなりません。
-3
動作しません。 Linqを使用するには、System.Linqが.NET 2.0にはないフレームワークアセンブリの一部である必要があります。
2
はい、あなたは正しいです。匿名メソッドの代わりにラムダ式を使用できます。コンパイラは残りの部分をソートします。これを試してください:あなたが行うことができない何
int sum = 0;
Array.ForEach(new[] {1, 2, 3, 4}, x => sum += x);
は、.NET 3.5の新機能のいずれかを使用することである(すなわちLINQの。)。そうするためには、.Net 2.0にはないSystem.Linq、System.Coreなどへの参照を追加する必要があります。
関連する問題
- 1. VB.NETラムダ式の例
- 2. VB.NET TextBox用ラムダ式
- 3. VB.Netラムダ式の記述方法
- 4. C#からVB.Netへのラムダ式
- 5. C#ラムダ式をVB.netに変換する
- 6. ラムダ式をC#からvb.netに変換する
- 7. ラムダ式VB.netをC#に変換できません
- 8. ラムダ式
- 9. 式ラムダ
- 10. 、ラムダ式
- 11. ラムダ式
- 12. ラムダ式
- 13. ラムダ式
- 14. ラムダ式
- 15. ラムダ式
- 16. は、ラムダ式
- 17. ラムダ式のPROLOG
- 18. Scheme(DrRacket)ラムダ式
- 19. .netラムダ式キャスト
- 20. ラムダ式のKeyValuePair
- 21. ブーイングのラムダ式
- 22. Enumerable.Selectのラムダ式
- 23. ラムダ式質問
- 24. ArrayListのラムダ式
- 25. 一覧ラムダ式
- 26. のJavaラムダ式
- 27. Javaラムダ式
- 28. ラムダ式は、マルチスレッド
- 29. Select *のラムダ式
- 30. Pythonのラムダ式
うん、ダンダンの権利。また、3.5アセンブリをビンに入れて参照することはできません。私は尋ねました...問題は、System名前空間にも多くの変更があったことです。 – andy
これは当てはまりません。 LINQは、3.5コンパイラ(Vb9)を使用して、SelectとWhereなどの十分に利用可能なLINQメソッドを用意している場合は、2.0アプリケーションを対象とすることが最も確実にサポートされています。 C#の場合も同様です – JaredPar