カテゴリ: C# 更新日: 2026/01/30

C#のLINQメソッド構文の基本と書き方を解説!初心者向け入門ガイド

C#のLINQメソッド構文の基本と書き方を解説
C#のLINQメソッド構文の基本と書き方を解説

先生と生徒の会話形式で理解しよう

生徒

「先生、C#のLINQってよく聞くんですけど、メソッド構文ってどういうものなんですか?」

先生

「いい質問ですね。C#のLINQには大きく分けて、クエリ構文とメソッド構文があります。その中でもメソッド構文は、メソッドチェーンという形で書けるので便利なんですよ。」

生徒

「メソッドチェーンって何ですか?ちょっと難しそうです…」

先生

「大丈夫ですよ。メソッドを点(.)でつなげて、次々に処理を指定していく書き方のことです。実際にコードを見ながら解説しますね。」

1. LINQメソッド構文とは?

1. LINQメソッド構文とは?
1. LINQメソッド構文とは?

C#のLINQ(Language Integrated Query)は、コレクション(リストや配列など)に対して検索や並び替えを行える便利な機能です。その中でもメソッド構文は、メソッドをつなげてデータ操作を行う書き方を指します。

例えば、「学生リストから20歳以上の人を取り出す」といった操作を、簡単にプログラムで表現できます。クエリ構文がSQL(データベースの言語)に似ているのに対して、メソッド構文はメソッド呼び出しを組み合わせる形で記述します。

2. メソッド構文の基本的な書き方

2. メソッド構文の基本的な書き方
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. メソッドチェーンの考え方

3. メソッドチェーンの考え方
3. メソッドチェーンの考え方

メソッド構文のポイントは、メソッドチェーンです。これは、ひとつの処理結果を次のメソッドにそのまま渡す書き方です。

例えるなら、「買い物カゴから商品を選ぶ」→「並べ替える」→「価格を割引する」といった流れを、点(.)でつないで表現しているイメージです。

一行ずつ処理を分けるよりも、流れをそのままコードで書けるため、読みやすく整理されたプログラムになります。

4. よく使うLINQメソッドの紹介

4. よく使うLINQメソッドの紹介
4. よく使うLINQメソッドの紹介

初心者が最初に覚えると便利なメソッドをいくつか紹介します。

  • Where:条件で絞り込み(例:偶数だけ取り出す)
  • Select:形を変換(例:数値を文字列に変換する)
  • OrderBy / OrderByDescending:昇順・降順に並べ替え
  • First / FirstOrDefault:最初の要素を取り出す
  • Count:要素の数を数える

これらを組み合わせることで、実用的なデータ処理がどんどんできるようになります。

5. 具体例:名前リストを操作する

5. 具体例:名前リストを操作する
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メソッド構文の基本を押さえよう

6. LINQメソッド構文の基本を押さえよう
6. LINQメソッド構文の基本を押さえよう

C#のLINQメソッド構文を使うと、リストや配列といったコレクションを効率的に処理できます。Where、Select、OrderByなどの基本的なメソッドを覚えるだけでも、データ操作の幅がぐっと広がります。

最初は少し慣れが必要ですが、「条件で絞り込み → 並び替え → 変換」という流れを意識して書くと理解しやすいでしょう。

まとめ

まとめ
まとめ

C#のLINQメソッド構文は、データ操作を効率化し、コードの可読性や保守性を高めるために非常に役立つ手法です。特にWhereSelectOrderByといった基本的なメソッドを活用することで、複雑なロジックを簡潔に記述できます。

メソッドチェーンを使うことで、1つ1つの処理をつなげながら書けるため、処理の流れが自然に読み取れるのも大きな利点です。これは、「データを絞る」「並び替える」「変換する」といった日常的な処理を、直感的に表現できるからこそ多くの開発者に支持されています。

例えば、商品リストから価格が1000円以上のものだけを抽出し、名前の順に並び替えて出力する処理も、わずか数行で実現できます。

LINQメソッド構文を使った商品フィルタの例


using System;
using System.Collections.Generic;
using System.Linq;

class Product
{
    public string Name { get; set; }
    public int Price { get; set; }
}

class Program
{
    static void Main()
    {
        var products = new List<Product>
        {
            new Product { Name = "ノート", Price = 300 },
            new Product { Name = "ペン", Price = 150 },
            new Product { Name = "USBメモリ", Price = 1200 },
            new Product { Name = "イヤホン", Price = 2500 }
        };

        var result = products
            .Where(p => p.Price >= 1000)
            .OrderBy(p => p.Name)
            .Select(p => $"{p.Name}({p.Price}円)");

        foreach (var item in result)
        {
            Console.WriteLine(item);
        }
    }
}

USBメモリ(1200円)
イヤホン(2500円)

このように、LINQメソッド構文は実用的なシーンでも力を発揮します。特定条件に合うデータだけを取り出して、見やすい形式に変換し、並び替えて表示する処理がとても簡単に書けるのです。

また、LINQはコレクション操作だけでなく、Countで件数を数えたり、FirstOrDefaultで最初の要素を安全に取得したりと、多くの便利なメソッドを提供しています。これらを活用することで、より堅牢で効率的なコードを書くことができます。

初心者の方はまず、WhereとSelectを繰り返し練習して、メソッドチェーンに慣れることから始めると良いでしょう。簡単なリストの操作からステップアップしていくことで、自然と応用力も身につきます。

先生と生徒の振り返り会話

生徒

「先生、LINQのメソッド構文って、最初は難しく感じたけど、使ってみたら意外とスッキリ書けるんですね!」

先生

「その通りです。複雑な処理を簡潔に書けるのがLINQの魅力なんですよ。慣れてくると処理の流れも直感的に組み立てられるようになります。」

生徒

「商品リストをフィルタして並び替えたり、数値の計算結果を変換したり、いろんな場面で使えそうですね。」

先生

「その感覚を大切にしましょう。LINQは業務アプリでもWebサービスでも活躍しますから、基本の使い方をしっかり身につけてくださいね。」

生徒

「はい!Where、Select、OrderByの組み合わせ、たくさん練習してみます!」

カテゴリの一覧へ
新着記事
New1
C#
C#のメモリ管理とガーベジコレクションの基礎を理解しよう
New2
C#
C#の参照型と値型の違いを初心者向けにやさしく解説!
New3
C#
C#のクエリ式とメソッド式の書き換え方を完全ガイド!LINQの2つの書き方をマスター
New4
C#
C#の戻り値にタプルを使う方法!複数の値を返すテクニック
人気記事
No.1
Java&Spring記事人気No1
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.2
Java&Spring記事人気No2
C#
C#のLINQでOrderByを使った並び替えを完全ガイド!初心者でもわかるソート方法
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.7
Java&Spring記事人気No7
C#
C#のラムダ式の書き方と構文を初心者向けに完全解説
No.8
Java&Spring記事人気No8
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方