C#の配列に要素を追加する方法!(Resize・List変換など)

C# C#

C#の配列に要素を追加する方法について書いています。
載せているコードについては、.Netのバージョン6(C#のバージョン10)で確認しました。

C#の配列は最初に要素数を指定して使います。
要素数を気にせずに動的に使いたい場合にはListを使うようにしましょう。

配列を作って要素を追加する

まずは、配列を宣言して要素を追加してみます。

string[] fruits = new string[5];
fruits[0] = "apple";
fruits[1] = "banana";
fruits[2] = "orange";

foreach (string fruit in fruits) {
    if (fruit != null) {
        Console.WriteLine(fruit);
    }
}

要素が5つ入る文字列型のfruits配列を作成しました。
このように、配列を作る場合は先に要素数を指定して作成します。
配列に追加できる要素数の上限は、指定した要素数までです。

その配列に3つの要素を入れています。(“apple” / “banana” / “orange”)
その後にforeach文を使用して、ループして要素を出力しました。

要素を入れていない3番,4番目もループで回るので、nullじゃない時だけ出力してみました。
結果は、下記のように入れた要素が出力されます。

apple
banana
orange

配列作成と同時に要素を初期化する

配列の作成と同時に要素を指定することができます。
下記は数値型の配列に要素を3つ入れて、宣言と同時に要素を追加しています。

int[] numbers = new int[3] { 10, 22, 30 };
foreach (int number in numbers) {
    Console.WriteLine(number);
}

配列作成時に要素を指定する場合には、指定した要素数の数だけ要素を波括弧({})の間に入れてあげる必要があります。
今回は、「10, 22, 30」をnumbers配列に入れて作成しました。

出力すると、下記のように要素が追加されたことが確認できました。

10
22
30

配列のサイズを増やして、要素を追加する

Array.Resizeを使うことで、配列のサイズを増やすこともできます。

var drinks = new string[3] {"water", "cola", "coffee"};

Array.Resize(ref drinks, 4);
drinks[drinks.Length - 1] = "beer";

foreach (string drink in drinks) {
    Console.WriteLine(drink);
}

3つの要素を持つdrinks配列を作成しています。
その次に、Array.Resizeを使って、drinks配列を要素が4つになるようにリサイズしています。

そして、drinks配列の最後に「beer」という文字列を入れました。
最後にforeachで出力すると、下記のように要素が追加されたことが確認できました。

water
cola
coffee
beer

Listに変換して、要素を追加する

配列から要素サイズを気にせずに使えるListに変換することができます。

var drinks = new string[3] {"water", "cola", "coffee"};
var drinkList = drinks.ToList();
drinkList.Add("wine");
drinkList.Add("sake");

foreach (string drink in drinkList) {
    Console.WriteLine(drink);
}

先ほどのプログラムを少し変えてみました。
3つの要素を持つdrinks配列を作成した後に、配列を下記でリストに変換しています。

var drinkList = drinks.ToList();

配列からToListメソッドを呼ぶことで、リストに変換することができました。
その後にリストに変換したので、Addメソッドを使用して2つの要素を追加しています。

最後にforeachで出力すると、下記のように配列に要素が入っていることが確認できました。

water
cola
coffee
wine
sake

コメント

タイトルとURLをコピーしました