C#の配列とListの違いを比較して理解しよう
生徒
「C#で複数のデータをまとめて扱う方法ってありますか?」
先生
「はい、代表的なのは『配列(Array)』と『List』です。どちらもデータをまとめて管理できますが、特徴が少し違います。」
生徒
「配列とListってどう違うんですか?」
先生
「それでは、配列とListの基本的な違いを具体的に見ていきましょう!」
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とは?
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の違いを比較
ここで、配列とListの特徴を表にして比較してみましょう。
| 特徴 | 配列(Array) | List |
|---|---|---|
| サイズの変更 | 不可(固定) | 可能(追加・削除できる) |
| 使いやすさ | シンプルで高速 | 柔軟で便利 |
| 宣言時に必要な情報 | 要素数を決める | 要素数は不要(後から自由に追加) |
| 使う場面 | 要素数が決まっている場合 | 要素数が変動する場合 |
このように、配列は「数が決まっているデータをまとめるとき」、Listは「数が変わる可能性のあるデータをまとめるとき」に使うと良いです。
4. 実生活の例えで理解しよう
プログラミング未経験の方にとっては、抽象的な説明だけだと分かりにくいですよね。そこで、生活の身近な例で考えてみましょう。
- 配列 = 固定のタマゴパック 最初から「10個入り」と決まっていて、それ以上も以下もできない。
- List = 大きさが変わるバッグ 必要に応じて物を追加したり取り出したりできる。
このようにイメージすると、配列とListの違いがぐっと理解しやすくなります。
5. どちらを使うべき?
最後に、配列とListの選び方についてまとめます。
- データ数が最初から決まっていて変わらない → 配列(Array)
- データ数が変わる可能性がある、追加や削除をしたい → List
C#プログラミングでは、柔軟に使えるListを使う場面が多いですが、配列もシンプルで効率的なので状況に応じて使い分けることが大切です。