LINQ
LINQは、配列やコレクションなどのデータを宣言的に問い合わせるための機能です。Where、Select、OrderByなどを組み合わせて処理を表現できます。
using System.Linq;
int[] values = { 8, 3, 10, 5, 2 };
int[] result = values
.Where(value => value % 2 == 0)
.OrderBy(value => value)
.Select(value => value * 2)
.ToArray();
この例では偶数を抽出し、昇順に並べ、値を2倍にしています。
遅延実行
多くのLINQクエリは、クエリを定義した時点では実行されず、列挙された時点で処理されます。ToArrayやToListなどは結果を具体的なコレクションへ確定させます。
注意点
- 同じクエリを何度も列挙すると、処理が繰り返される場合がある。
- WhereやSelectを重ねすぎると、処理の流れが読みにくくなる。
- 大量データでは計算量や割り当てを意識する。
- SQLなど外部データソースに対するLINQは、実行されるクエリの内容も確認する。
LINQは短く書くためだけの機能ではありません。処理の意図が明確になる場合に使いましょう。