17. LINQ to Objects
今回はオブジェクトを扱う LINQ to Objectsについて
LINQ to Objectsとは
あらゆるコレクション(IEnumerableを実装するオブジェクト)をLINQで操作可
能にする
例えば
条件を満たす要素を取得
特定の値が含まれているか
操作を加える
ソート
等 ができる
18. クエリ式とメソッド式
LINQにはクエリ式とメソッド式の2つの記法がある
メソッド式
C# のメソッドと同じように”.”でチェーンして記述する方式
var q = collection.Where(x => x > 10).Select(x => x * x);
クエリ式
SQLのようなクエリ構文でLINQを記述する方式
var q = from x in collection where x > 10 select x * x;
20. クエリ式とメソッド式
クエリ式にはない構文がある
First() Single() 等
メソッド式
collection.Where(x => x > 10).Select(x => x * x).First();
クエリ式
(from x in collection where x > 10 select x * x).First();
無理やり使おうとするなら、一度クエリにしてから(カッコで囲んで)呼ぶ