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
コメント