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