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

C#のコレクションとLINQの活用テクニックまとめ|初心者でもわかる便利な使い方

C#のコレクションとLINQの活用テクニックまとめ
C#のコレクションとLINQの活用テクニックまとめ

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

生徒

「C#でたくさんのデータをまとめて扱うとき、どんな方法がありますか?」

先生

「C#ではコレクションを使うと便利です。さらにLINQを使うとデータを検索したり並べ替えたりするのが簡単になりますよ。」

生徒

「コレクションって配列と違うんですか?」

先生

「配列も便利ですが、コレクションの方が柔軟で使いやすいことが多いんです。具体的な例を見ながら学んでいきましょう!」

1. C#のコレクションとは?

1. C#のコレクションとは?
1. C#のコレクションとは?

C#のコレクションとは、データをまとめて管理するための入れ物のようなものです。たとえば「買い物かご」のように、リンゴやバナナなど複数のものを入れて管理することができます。

配列(Array)もデータを並べて格納できますが、コレクションは追加や削除が簡単にできるので、より実用的です。特によく使うのがList<T>(リスト)です。


using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> fruits = new List<string>();
        fruits.Add("りんご");
        fruits.Add("ばなな");
        fruits.Add("みかん");

        foreach (var f in fruits)
        {
            Console.WriteLine(f);
        }
    }
}

りんご
ばなな
みかん

このように、リストを使うと簡単に要素を追加できます。配列と違って大きさを気にする必要がありません。

2. よく使うコレクションの種類

2. よく使うコレクションの種類
2. よく使うコレクションの種類

C#にはいろいろなコレクションがあります。用途に合わせて選ぶことで、効率よくプログラムを書くことができます。

  • List<T>:順番にデータを管理できるリスト
  • Dictionary<TKey,TValue>:キーと値の組み合わせで管理できる(辞書のようなもの)
  • Queue<T>:先に入れたものを先に取り出す(スーパーの列のようなイメージ)
  • Stack<T>:後から入れたものを先に取り出す(積み重ねた本を取るようなイメージ)

例えば、Dictionaryを使うと名前と年齢をセットで管理できます。


Dictionary<string, int> ages = new Dictionary<string, int>();
ages["太郎"] = 20;
ages["花子"] = 22;

Console.WriteLine(ages["太郎"]); // 20

3. LINQでデータを扱う

3. LINQでデータを扱う
3. LINQでデータを扱う

LINQ(Language Integrated Query)とは、データを検索・抽出・並べ替え・集計できる便利な仕組みです。SQLというデータベースの言語に似た書き方ができるので、複雑な処理もシンプルに書けます。

例えば、リストの中から条件に合うものだけを取り出すことができます。


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

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 5, 8, 10, 15, 20 };

        var result = numbers.Where(n => n > 10);

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

15
20

Whereを使うと「条件に一致するものだけ取り出す」ことができます。このようにLINQを使うと、条件分岐やループをシンプルに書けるのが大きなメリットです。

4. LINQの便利なメソッド

4. LINQの便利なメソッド
4. LINQの便利なメソッド

LINQにはたくさんの便利なメソッドがあります。よく使うものをいくつか紹介します。

  • Where:条件に合うデータだけを抽出
  • Select:必要な項目だけを取り出す
  • OrderBy:データを昇順(小さい順)に並べる
  • OrderByDescending:データを降順(大きい順)に並べる
  • Count:データの数を数える

List<string> fruits = new List<string> { "りんご", "ばなな", "みかん", "ぶどう" };

var sorted = fruits.OrderBy(f => f);

foreach (var f in sorted)
{
    Console.WriteLine(f);
}

ぶどう
ばなな
みかん
りんご

この例では、果物の名前を五十音順に並べ替えています。プログラムで並べ替えを自分で書く必要がないので、とても効率的です。

5. コレクションとLINQを組み合わせると最強

5. コレクションとLINQを組み合わせると最強
5. コレクションとLINQを組み合わせると最強

コレクションとLINQを組み合わせると、実際のアプリケーション開発でとても強力です。例えば「ある年齢以上の人だけを取り出して並べ替える」といった処理も数行で書けます。


var people = new List<(string Name, int Age)>
{
    ("太郎", 20),
    ("花子", 22),
    ("次郎", 18)
};

var adults = people.Where(p => p.Age >= 20)
                   .OrderBy(p => p.Age);

foreach (var p in adults)
{
    Console.WriteLine($"{p.Name} ({p.Age})");
}

太郎 (20)
花子 (22)

このように、コレクションとLINQを活用することでデータ処理をわかりやすく効率的に記述できます。初心者のうちに慣れておくと、C#でのプログラミングがぐっと楽になります。

カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法