0
int[] integers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

これの違いは何ですか:

var odd = from i in integers
          where i % 2 == 1
          select i;

この :

var ODD = integers.Where(i => i % 2 == 1);

違いがなく、顔だけが違うのなら、なぜそれが可能なのか?つまり、2つの方法でそれを行う必要があるということですか?

4

4 に答える 4

2

何もありません-最初は2番目の構文糖衣です。

私は意図を明確にするものを使用します。簡潔さは問題ない場合もあれば、流暢な方法の流れである場合もあれば、私がしていることを表現するためのクエリである場合もあります。

于 2012-07-01T11:12:25.473 に答える
0

違いはありません。構文が異なるだけです。LINQのドキュメントをご覧ください

于 2012-07-01T11:12:38.407 に答える
0

コンパイラ仕様では、コンパイルする前にLINQクエリを拡張メソッド呼び出しに変換する必要があります。

LINQクエリは、一般に、拡張メソッドが呼び出すよりも読みやすくなっています。これですべてです。

于 2012-07-01T11:18:43.673 に答える
0

確かに、あなたはクエリ式とメソッドチェーンの違いについて話している.....パフォーマンスに関しては何の違いもありません

詳細については、この投稿をチェックしてください

于 2012-07-01T11:19:18.050 に答える