カテゴリ: C# 更新日: 2026/02/26

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の組み合わせ、たくさん練習してみます!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

C#のLINQ(リンク)とは、具体的にどのような機能を持つプログラミングの道具なのでしょうか?初心者にもわかりやすく教えてください。

C#のLINQ(Language Integrated Query)とは、プログラム内で扱うデータの集合であるコレクション(Listや配列など)に対して、データの検索、抽出、並び替え、集計といった操作を非常にシンプルかつ効率的に記述できるようにするための強力な機能です。従来であれば「for文」や「if文」を何行も重ねて書いていたデータ処理を、LINQを使うことで直感的かつ簡潔に一行に近い形で表現できるようになります。特にメソッド構文を活用することで、データの流れを可視化しやすいプログラムを書くことが可能になります。
カテゴリの一覧へ
新着記事
New1
Azure
Azure SQL Databaseのリードスケールアウトとは?参照負荷分散でパフォーマンスを高速化する方法
New2
C#
C#プログラムの実行方法まとめ!Visual Studio・コマンドライン・.NET CLIの使い方
New3
C#
C#でHello Worldを表示する方法を完全ガイド!初心者でも1行から始められる入門講座
New4
COBOL
Micro Focus COBOLの特徴と使い方を徹底解説!初心者でもわかるIDE活用法
人気記事
No.1
Java&Spring記事人気No1
Azure
Azure Bastionの使い方を徹底解説!踏み台サーバー不要で安全にRDP/SSH接続
No.2
Java&Spring記事人気No2
C#
C#のプロパティとは?get/setアクセサの書き方と使い分け
No.3
Java&Spring記事人気No3
C#
C#のデリゲートとは?メソッドを変数のように扱う基本を解説
No.4
Java&Spring記事人気No4
C#
C#の文字列を数値に変換する方法(int.Parse・TryParse)をわかりやすく解説!
No.5
Java&Spring記事人気No5
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.6
Java&Spring記事人気No6
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.7
Java&Spring記事人気No7
C#
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド
No.8
Java&Spring記事人気No8
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本