2009-07-19 14 views
1

.NET 2.0では、C#3.xの多くの構造(匿名型、ラムダ、自動プロパティ)を使用できることを数か月前から嬉しく思っていました。それらはすべて同じILにコンパイルされます...実際には、構文的な砂糖。XLINQは.NET 2.0SP1で利用可能

これはLINQとXLINQのケースにも当てはまりますか? .NET 2.0ランタイムをまだ対象にしながら、これらの構成を使用できますか?

+0

.NET 2.0ではこれらを使用できます。 C#3.0が必要です。ランタイム(.NET)と言語(C#)は別です。 –

+0

あなたは "C#2.0 runtime"と言っていますが、あなたが言及しているのは.NET 2.0です。 C#は単なるプログラミング言語です。コンパイラのバージョンと.NET Frameworkのバージョンとの間にはほとんど関係がありません。 –

答えて

2

情報のために、LINQのコアの多くは、.NET 2.0(C#3.0)で(例えば)LINQBridge経由で利用できます。これはLINQ-to-Objects(メモリ内のコレクション/イテレータに対してクエリ構文を許可する)のほとんどを提供しますが、ではLINQ-to-XMLやLINQ-to-SQLなどに必要な新しいアセンブリを提供しません。

だからいいえ、 .NET 3.5の新しいアセンブリを使用しないでXDocumentを使用することはできません。しかし、あなたは多くの LINQものを行うことができます。

2

LINQは、.NET Framework 3.5の一部であるSystem.Coreアセンブリで定義された拡張メソッドのセットです。したがって、LINQとLINQ to XMLを使用するには、アプリケーションがこのアセンブリに静的な依存関係を持つため、.NET Framework 3.5をターゲットマシンにインストールする必要があります。

diagramは、さまざまなバージョンのフレームワークに含まれているものを示しています。

1

はい@miguelそれはsyntactic sugarですが、本当に役立ち、おいしいです。 LinqはC#3でシーンに来たので、2.0バージョンでLINQのものを使うことはできません。

関連する問題