カテゴリ: C# 更新日: 2025/09/27

C#の配列とListの違いを比較して理解しよう

C#の配列とListの違いを比較して理解しよう
C#の配列とListの違いを比較して理解しよう

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

生徒

「C#で複数のデータをまとめて扱う方法ってありますか?」

先生

「はい、代表的なのは『配列(Array)』と『List』です。どちらもデータをまとめて管理できますが、特徴が少し違います。」

生徒

「配列とListってどう違うんですか?」

先生

「それでは、配列とListの基本的な違いを具体的に見ていきましょう!」

1. 配列とは?

1. 配列とは?
1. 配列とは?

C#の配列(Array)とは、同じ型のデータをまとめて管理できる仕組みです。例えば「整数を10個まとめたい」といった場合に使います。配列は、最初に「要素数(いくつデータを入れるか)」を決める必要があります。作ったあとにサイズを変えることはできません。

イメージとしては「10個入りのタマゴパック」を思い浮かべると分かりやすいです。最初から10個と決まっていて、後から11個目を入れることはできません。


// 配列の宣言と初期化
int[] numbers = new int[3];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;

// 配列の出力
foreach (int num in numbers)
{
    Console.WriteLine(num);
}

10
20
30

このように、配列は要素の数が固定されており、シンプルにデータをまとめたいときに便利です。

2. Listとは?

2. Listとは?
2. Listとは?

Listは、配列に似ていますが、もっと柔軟に使えるコレクションです。コレクションとはデータをまとめて扱う仕組みのことです。Listは、必要に応じてデータの数を増やしたり減らしたりできます。

イメージとしては「伸び縮みするバッグ」のようなものです。最初は3個でも、必要なら4個、5個とどんどん入れられます。逆に、中身を取り出して減らすことも可能です。


using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int>();
        numbers.Add(10);
        numbers.Add(20);
        numbers.Add(30);
        numbers.Add(40); // 配列と違って自由に増やせる

        foreach (int num in numbers)
        {
            Console.WriteLine(num);
        }
    }
}

10
20
30
40

このように、Listはデータ数が決まっていないときや、追加や削除をしたいときに便利です。

3. 配列とListの違いを比較

3. 配列とListの違いを比較
3. 配列とListの違いを比較

ここで、配列とListの特徴を表にして比較してみましょう。

特徴 配列(Array) List
サイズの変更 不可(固定) 可能(追加・削除できる)
使いやすさ シンプルで高速 柔軟で便利
宣言時に必要な情報 要素数を決める 要素数は不要(後から自由に追加)
使う場面 要素数が決まっている場合 要素数が変動する場合

このように、配列は「数が決まっているデータをまとめるとき」、Listは「数が変わる可能性のあるデータをまとめるとき」に使うと良いです。

4. 実生活の例えで理解しよう

4. 実生活の例えで理解しよう
4. 実生活の例えで理解しよう

プログラミング未経験の方にとっては、抽象的な説明だけだと分かりにくいですよね。そこで、生活の身近な例で考えてみましょう。

  • 配列 = 固定のタマゴパック 最初から「10個入り」と決まっていて、それ以上も以下もできない。
  • List = 大きさが変わるバッグ 必要に応じて物を追加したり取り出したりできる。

このようにイメージすると、配列とListの違いがぐっと理解しやすくなります。

5. どちらを使うべき?

5. どちらを使うべき?
5. どちらを使うべき?

最後に、配列とListの選び方についてまとめます。

  • データ数が最初から決まっていて変わらない → 配列(Array)
  • データ数が変わる可能性がある、追加や削除をしたい → List

C#プログラミングでは、柔軟に使えるListを使う場面が多いですが、配列もシンプルで効率的なので状況に応じて使い分けることが大切です。

カテゴリの一覧へ
新着記事
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#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう