2011-03-18 27 views

答えて

3

最初の表記法は通常「クエリ構文」と呼ばれ、2番目の「メソッド構文」(またはドット表記法、またはラムダ構文)は両方ともまったく同じコードにコンパイルされますが、 2つはより簡潔ですが、ほとんどのシナリオではこれがドット表記ですが、特に複数の列挙型に参加またはグループ化すると、クエリ構文が本当に輝きます。

またLINQ Query Syntax versus Method Syntax (C#)をチェックアウト:入門LINQ ドキュメントの

ほとんどのクエリは、C#3.0で導入された宣言型 クエリ構文を使用してクエリ 式として書かれています。 ただし、.NET共通言語 ランタイム(CLR)には、クエリ の構文自体はありません。したがって、 コンパイル時に、クエリの式は で、CLR が理解できるものに変換されます。メソッド呼び出し。これらの メソッドは、標準クエリ 演算子と呼ばれ、 などの名前を持ちます。Select、GroupBy、Join、Max、 Averageなどです。クエリ構文の代わりにメソッド構文 を使用して直接 と呼び出すことができます。

通常、クエリ構文 を使用することをお勧めします。これは通常、より簡単であり、より多くのユーザーが読むことができるためです。 読み取り可能です。しかし、メソッド構文と クエリ構文の間には意味がありません。

3

何もありません。

最初のものはLINQ表記を使用し、2番目のものは拡張メソッド表記を使用します。どちらも同じことを行います。

もっと気に入ってください。 :)

3

違いはありません。 1つは、同じ結果を得るために代理人を使用するのではなく、SQLに似た言語拡張です。

0

すでに最初のものはLINQ表記であり、2番目のものはlambdaの拡張メソッドを使用しています。コード保守を少なくするには秒を使用します。内部コードやパフォーマンスの類似点を考えている場合は、ストップウォッチを使用してこのコードを100000回実行し、最速のコードを選択してください。コンパイルされたコードが似ていれば、ほぼ同じ時間が得られます。

関連する問題