C#
 Computer >> コンピューター >  >> プログラミング >> C#

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がよく使われます。

  1. Pythonのリストと配列(array)の違いとは?使い分けのポイントを解説

    Pythonのリストと配列、何が違うのか?Pythonでデータを扱う際、「リスト(list)」と「配列(array.array)」はどちらもよく使われるデータ構造ですが、それぞれ特徴が大きく異なります。この記事では、両者の違いと使い分けのポイントをわかりやすく解説します。リスト(list):柔軟性が高い万能型Pythonのリストは非常に柔軟なデータ構造です。最大の特徴は、異なる型のデータを混在させて格納できる点にあります。例えば、以下のように整数・文字列・ネストしたリストなどを自由に組み合わせられます。[1, a, [1, 2], string]また、リストへの要素追加(append)は償却定

  2. Pythonのリストとタプルの違いとは?特徴と使い分けのポイントを解説

    Pythonでは複数の値をまとめて扱えるシーケンス型として、リスト(list)とタプル(tuple)がよく使われます。どちらも似たような役割を持っていますが、決定的な違いがあります。それはタプルが「不変(immutable)」であるという点です。 最大の違い:タプルは変更できない タプルは一度作成すると、その中の値を後から変更することができません。一方、リストは「可変(mutable)」なので、作成後でも要素の追加・削除・変更が自由に行えます。 # リスト:変更可能 my_list = [1, 2, 3] my_list[0] = 10 # 正常に変更できる # タプル:変更不可 my_