C# で複数のデータをまとめて扱うときによく利用するのが 配列(array)
と List<T>
です。どちらも「複数の値をひとつの変数で管理できる」という共通点がありますが、特徴や使い方には大きな違いがあります。本記事では配列と List の違いを整理し、どのような場面で使い分ければよいかを解説します。
配列(array)の特徴
配列は C# の基本的なコレクション型で、決まった数の要素を格納できます。インデックスを指定してアクセスするのが基本です。
// 配列の宣言と初期化
int[] numbers = { 1, 2, 3, 4, 5 };
// 要素へのアクセス
Console.WriteLine(numbers[0]); // 1
// 要素の変更
numbers[1] = 10;
Console.WriteLine(numbers[1]); // 10
配列はサイズが固定されており、作成後に要素数を変更することはできません。性能が高くメモリ効率も良いですが、柔軟性に欠けます。
List<T> の特徴
List<T>
はジェネリックコレクションのひとつで、要素数を自由に増減できるのが特徴です。System.Collections.Generic
名前空間に含まれています。
using System;
using System.Collections.Generic;
// List の宣言と初期化
List<string> fruits = new List<string> { "Apple", "Banana" };
// 要素の追加
fruits.Add("Orange");
// 要素の削除
fruits.Remove("Banana");
// 要素へのアクセス
Console.WriteLine(fruits[0]); // Apple
Console.WriteLine(fruits.Count); // 要素数を取得
List はサイズが可変で、検索や並べ替えなど便利なメソッドも豊富に用意されています。アプリ開発では配列よりも List を使う機会が多いです。
配列と List の違いまとめ
特徴 | 配列(array) | List<T> |
---|---|---|
サイズ | 固定 | 可変(追加・削除が可能) |
パフォーマンス | 高速・メモリ効率が良い | 柔軟性重視だが配列よりやや遅い |
メソッド | 基本的な操作のみ(要素アクセス) | Add, Remove, Sort, Find など多数 |
用途 | 要素数が最初から決まっている場合 | 要素数が変動する場合や便利メソッドを活用したい場合 |
使い分けのポイント
- 配列(array) … 要素数が固定で変わらない場合。パフォーマンスやメモリ効率を重視する場面。
- List<T> … 要素を動的に追加・削除する必要がある場合。データ操作を簡単に行いたい場合。
まとめ
配列と List はどちらも複数のデータを扱うために便利ですが、特徴は大きく異なります。
・固定サイズで高速処理なら配列
・可変サイズで柔軟に使いたいなら List
という基準で選ぶと良いでしょう。開発現場では List が主流ですが、配列も基礎として押さえておくことが重要です。