統合言語クエリ(LINQ; Language-Integrated Query)とは、どこまでの範囲を指すか?
C#では2種類のLINQ記述方法が用意されてる。前者はコンパイル時に実質メソッド呼び出しに展開される。MSDN公式でも両者ともにLINQとしている。
- クエリ構文 (query syntax)
- メソッド構文 (method syntax)
MSDN LINQ でのクエリ構文とメソッド構文 (C#) より:
int[] numbers = { 5, 10, 8, 3, 6, 12 };
// クエリ構文
IEnumerable<int> numQuery1 =
from num in numbers
where num % 2 == 0
orderby num
select num;
// メソッド構文
IEnumerable<int> numQuery2 =
numbers
.Where(num => num % 2 == 0)
.OrderBy(n => n);