C#の配列とリスト(List)の違いとは?特徴と基本的な使い方を解説
C#における配列(Array)とリスト(List<T>)は、どちらも複数のデータをまとめて扱うためのコレクションですが、その性質には重要な違いがあります。
配列とリストの主な違い
配列は、生成時にサイズが固定される、同じ型の要素を順番に格納するコレクションです。一度作成した後は要素数を変更できません。
一方、Listはジェネリックコレクションであり、要素の追加や削除に応じてサイズが自動的に拡張・縮小します。この柔軟性が最大の特徴です。
| 項目 | 配列 | List<T> |
|---|---|---|
| サイズ | 固定 | 可変(動的) |
| 要素の追加 | 不可(再作成が必要) | Addメソッドで可能 |
| 宣言方法 | 型[] 変数名 | List<型> 変数名 |
Listの定義方法
Listを定義するには、次のように記述します。
List<string> myList = new List<string>();
Listへの要素の追加
Listに要素を設定するには、Addメソッドを使用します。
myList.Add("Audi");
myList.Add("BMW");
myList.Add("Chevrolet");
myList.Add("Hyundai");
このように、事前にサイズを決めなくても、必要な分だけ自由に要素を追加できます。
配列の定義方法
配列を定義するには、要素数を指定して宣言します。
int[] arr = new int[5];
配列の初期化と要素の設定
宣言と同時に初期化して要素を設定することも可能です。
int[] arr = new int[5] {23, 14, 11, 78, 56};
この例では、5つの整数値がインデックス0から順に格納されます。
使い分けのポイント
要素数が最初から決まっていて変更されない場合は配列、実行時に要素が増減する可能性がある場合はList<T>を選ぶのが一般的です。特にビジネスアプリケーションでは、柔軟性の高いListがよく使われます。
-
Pythonのリストと配列(array)の違いとは?使い分けのポイントを解説
Pythonのリストと配列、何が違うのか?Pythonでデータを扱う際、「リスト(list)」と「配列(array.array)」はどちらもよく使われるデータ構造ですが、それぞれ特徴が大きく異なります。この記事では、両者の違いと使い分けのポイントをわかりやすく解説します。リスト(list):柔軟性が高い万能型Pythonのリストは非常に柔軟なデータ構造です。最大の特徴は、異なる型のデータを混在させて格納できる点にあります。例えば、以下のように整数・文字列・ネストしたリストなどを自由に組み合わせられます。[1, a, [1, 2], string]また、リストへの要素追加(append)は償却定
-
Pythonのリストとタプルの違いとは?特徴と使い分けのポイントを解説
Pythonでは複数の値をまとめて扱えるシーケンス型として、リスト(list)とタプル(tuple)がよく使われます。どちらも似たような役割を持っていますが、決定的な違いがあります。それはタプルが「不変(immutable)」であるという点です。 最大の違い:タプルは変更できない タプルは一度作成すると、その中の値を後から変更することができません。一方、リストは「可変(mutable)」なので、作成後でも要素の追加・削除・変更が自由に行えます。 # リスト:変更可能 my_list = [1, 2, 3] my_list[0] = 10 # 正常に変更できる # タプル:変更不可 my_