2

CalvertとKulkarniによる本「EssentialLINQ」では、「LINQ演算子」と「LINQキーワード」の両方の用語が使用されています。これら2つの用語の違いは何ですか?

4

1 に答える 1

3

演算子は、フィルタリング、プロジェクション、集計、並べ替えなどのクエリ機能を提供する IEnumerable インターフェイスの拡張メソッドのセットです。これらは、任意の列挙とコレクションに適用できます。

キーワードは、言語 (言語拡張機能) 自体 (C# または VB) に追加された一連のキーワードであり、LINQ 式を構築するために使用されます。フード キーワードの下では、対応する演算子が呼び出されます。すべての演算子に対応するキーワードがあるわけではありません。より頻繁に使用される標準クエリ演算子の一部のみが、専用の C# および Visual Basic 言語のキーワード構文を持っており、クエリ式の一部として呼び出すことができます

したがって、この 2 つの違いは、コードに与える異なる形式 (視覚的な影響) であり、内部では同じメソッドが呼び出されます (演算子拡張メソッド)。

msdn の例:

       string sentence = "the quick brown fox jumps over the lazy dog";
       // Split the string into individual words to create a collection. 
       string[] words = sentence.Split(' ');

       // Using query expression syntax. 
       var query = from word in words
                   group word.ToUpper() by word.Length into gr
                   orderby gr.Key
                   select new { Length = gr.Key, Words = gr };

       // Using method-based query syntax. 
       var query2 = words.
           GroupBy(w => w.Length, w => w.ToUpper()).
           Select(g => new { Length = g.Key, Words = g }).
           OrderBy(o => o.Length);
于 2012-08-16T17:23:42.973 に答える