C# の LINQ
LINQ(Language Integrated Query)は、C に統合されたクエリ機能だ。配列やリスト、データベース、XM...
LINQ には2つの書き方がある。クエリ構文とメソッド構文だ。どちらも同じ結果を得られるが、見た目と使い勝手が異なる。 クエリ構...
LINQ の重要な特徴の一つが遅延評価(Deferred Execution)だ。クエリを定義した時点では実行されず、結果を実際...
`Where` は LINQ で最も基本的なメソッドだ。条件に合う要素だけを抽出する、いわゆるフィルタリング処理を行う。 基本的...
`Select` はシーケンスの各要素を変換するメソッドだ。射影(projection)とも呼ばれ、元のデータから必要な形に変換...
`SelectMany` はネストしたコレクションを平坦化するメソッドだ。`Select` が各要素を1対1で変換するのに対し、...
`OrderBy` はシーケンスの要素を昇順に並べ替えるメソッドだ。降順にしたい場合は `OrderByDescending` ...
`GroupBy` はシーケンスの要素をキーでグループ化するメソッドだ。SQL の `GROUP BY` と同様の機能を提供する...
`Join` は2つのシーケンスをキーで結合するメソッドだ。SQL の内部結合(INNER JOIN)に相当する。 基本的な使い...
LINQ には集計を行うメソッドが複数用意されている。`Sum`、`Count`、`Average` は最もよく使う3つだ。 C...
`Any` と `All` はシーケンスに対する条件判定を行うメソッドだ。どちらも `bool` を返し、存在確認や全体チェック...
`Max` と `Min` はシーケンスの最大値・最小値を取得するメソッドだ。数値だけでなく、比較可能なあらゆる型に使える。 基...
`First` と `FirstOrDefault` はシーケンスの先頭要素を取得するメソッドだ。両者の違いは、要素が見つからな...
`Last` と `LastOrDefault` はシーケンスの末尾要素を取得するメソッドだ。`First` / `FirstO...
`Take` と `Skip` はシーケンスの一部を切り出すメソッドだ。ページネーションや部分取得によく使われる。 Take:先...
`Distinct` はシーケンスから重複を除去するメソッドだ。ユニークな値だけを取り出したいときに使う。 基本的な使い方 同じ...
実際のアプリケーションでは、単一のLINQメソッドだけでなく、複数の条件や操作を組み合わせて使うことが多い。ここでは複合的なクエ...
LINQは便利だが、使い方を誤るとパフォーマンスが大きく低下することがある。ここでは注意すべきポイントと対策を解説する。 複数回...