.NET 2.0では、C#3.xの多くの構造(匿名型、ラムダ、自動プロパティ)を使用できることを数か月前から嬉しく思っていました。それらはすべて同じILにコンパイルされます...実際には、構文的な砂糖。XLINQは.NET 2.0SP1で利用可能
これはLINQとXLINQのケースにも当てはまりますか? .NET 2.0ランタイムをまだ対象にしながら、これらの構成を使用できますか?
.NET 2.0では、C#3.xの多くの構造(匿名型、ラムダ、自動プロパティ)を使用できることを数か月前から嬉しく思っていました。それらはすべて同じILにコンパイルされます...実際には、構文的な砂糖。XLINQは.NET 2.0SP1で利用可能
これはLINQとXLINQのケースにも当てはまりますか? .NET 2.0ランタイムをまだ対象にしながら、これらの構成を使用できますか?
情報のために、LINQのコアの多くは、.NET 2.0(C#3.0)で(例えば)LINQBridge経由で利用できます。これはLINQ-to-Objects(メモリ内のコレクション/イテレータに対してクエリ構文を許可する)のほとんどを提供しますが、はではLINQ-to-XMLやLINQ-to-SQLなどに必要な新しいアセンブリを提供しません。
だからいいえ、 .NET 3.5の新しいアセンブリを使用しないでXDocument
を使用することはできません。しかし、あなたは多くの LINQものを行うことができます。
LINQは、.NET Framework 3.5の一部であるSystem.Coreアセンブリで定義された拡張メソッドのセットです。したがって、LINQとLINQ to XMLを使用するには、アプリケーションがこのアセンブリに静的な依存関係を持つため、.NET Framework 3.5をターゲットマシンにインストールする必要があります。
diagramは、さまざまなバージョンのフレームワークに含まれているものを示しています。
はい@miguelそれはsyntactic sugarですが、本当に役立ち、おいしいです。 LinqはC#3でシーンに来たので、2.0バージョンでLINQのものを使うことはできません。
.NET 2.0ではこれらを使用できます。 C#3.0が必要です。ランタイム(.NET)と言語(C#)は別です。 –
あなたは "C#2.0 runtime"と言っていますが、あなたが言及しているのは.NET 2.0です。 C#は単なるプログラミング言語です。コンパイラのバージョンと.NET Frameworkのバージョンとの間にはほとんど関係がありません。 –