カテゴリ: C# 更新日: 2025/10/02

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などの基本的なメソッドを覚えるだけでも、データ操作の幅がぐっと広がります。

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

カテゴリの一覧へ
新着記事
New1
COBOL
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
New2
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
New3
C#
C#の非同期処理における例外のログ管理方法!初心者でも失敗しないエラー対応
New4
C#
C#の可変長引数(params)を使う方法!引数の数が決まらないときに便利
人気記事
No.1
Java&Spring記事人気No1
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.4
Java&Spring記事人気No4
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.5
Java&Spring記事人気No5
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法
No.6
Java&Spring記事人気No6
C#
C#でファイルのエンコーディングを指定する方法(UTF-8・Shift-JISなど)
No.7
Java&Spring記事人気No7
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.8
Java&Spring記事人気No8
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決