C#のLINQメソッド構文の基本と書き方を解説!初心者向け入門ガイド
生徒
「先生、C#のLINQってよく聞くんですけど、メソッド構文ってどういうものなんですか?」
先生
「いい質問ですね。C#のLINQには大きく分けて、クエリ構文とメソッド構文があります。その中でもメソッド構文は、メソッドチェーンという形で書けるので便利なんですよ。」
生徒
「メソッドチェーンって何ですか?ちょっと難しそうです…」
先生
「大丈夫ですよ。メソッドを点(.)でつなげて、次々に処理を指定していく書き方のことです。実際にコードを見ながら解説しますね。」
1. LINQメソッド構文とは?
C#のLINQ(Language Integrated Query)は、コレクション(リストや配列など)に対して検索や並び替えを行える便利な機能です。その中でもメソッド構文は、メソッドをつなげてデータ操作を行う書き方を指します。
例えば、「学生リストから20歳以上の人を取り出す」といった操作を、簡単にプログラムで表現できます。クエリ構文がSQL(データベースの言語)に似ているのに対して、メソッド構文はメソッド呼び出しを組み合わせる形で記述します。
2. メソッド構文の基本的な書き方
LINQメソッド構文では、代表的に次のようなメソッドを使います。
Where:条件に合う要素を取り出すSelect:要素を変換するOrderBy:並び替えを行うTake:先頭から指定した件数を取り出す
これらをつなげることで、複雑な処理もシンプルに書けるようになります。
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 5, 12, 3, 20, 8 };
var result = numbers
.Where(n => n >= 10)
.OrderBy(n => n)
.Select(n => n * 2);
foreach (var num in result)
{
Console.WriteLine(num);
}
}
}
12
40
この例では、リストの中から10以上の数を取り出し(Where)、小さい順に並び替えて(OrderBy)、さらに2倍して(Select)出力しています。
3. メソッドチェーンの考え方
メソッド構文のポイントは、メソッドチェーンです。これは、ひとつの処理結果を次のメソッドにそのまま渡す書き方です。
例えるなら、「買い物カゴから商品を選ぶ」→「並べ替える」→「価格を割引する」といった流れを、点(.)でつないで表現しているイメージです。
一行ずつ処理を分けるよりも、流れをそのままコードで書けるため、読みやすく整理されたプログラムになります。
4. よく使うLINQメソッドの紹介
初心者が最初に覚えると便利なメソッドをいくつか紹介します。
Where:条件で絞り込み(例:偶数だけ取り出す)Select:形を変換(例:数値を文字列に変換する)OrderBy/OrderByDescending:昇順・降順に並べ替えFirst/FirstOrDefault:最初の要素を取り出すCount:要素の数を数える
これらを組み合わせることで、実用的なデータ処理がどんどんできるようになります。
5. 具体例:名前リストを操作する
次は、文字列のリストを使った例を見てみましょう。
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<string> names = new List<string> { "Taro", "Hanako", "Jiro", "Saburo" };
var result = names
.Where(name => name.Length > 4)
.OrderBy(name => name);
foreach (var n in result)
{
Console.WriteLine(n);
}
}
}
Hanako
Saburo
このプログラムでは、名前の文字数が4文字より多いものを抽出し、アルファベット順に並べ替えています。とてもシンプルに書けているのがわかりますね。
6. まとめ:LINQメソッド構文の基本を押さえよう
C#のLINQメソッド構文を使うと、リストや配列といったコレクションを効率的に処理できます。Where、Select、OrderByなどの基本的なメソッドを覚えるだけでも、データ操作の幅がぐっと広がります。
最初は少し慣れが必要ですが、「条件で絞り込み → 並び替え → 変換」という流れを意識して書くと理解しやすいでしょう。