どこまでがLINQ?


統合言語クエリ(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);