1 次元配列 (C# プログラミング ガイド)

配列要素の型と要素の数を指定する new 演算子を使用して、1 次元配列を作成します。 次の例では、5 つの整数の配列を宣言しています。

int[] array = new int[5];

この配列は、array[0] から array[4] の要素を含んでいます。 配列の要素は、要素型の既定値である整数 0 に初期化されます。

配列には、次の例のように、文字列の配列を宣言する、指定した要素型を格納できます。

string[] stringArray = new string[6];

配列の初期化

配列を宣言するときに、配列の要素を初期化することができます。 長さ指定子は、初期化リスト内の要素の数から推論されるため、必要ではありません。 次に例を示します。

int[] array1 = new int[] { 1, 3, 5, 7, 9 };

次のコードは、配列の各要素が曜日の名前で初期化される文字列配列の宣言を示しています。

string[] weekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

次のコードに示すように、宣言時に配列を初期化するときに、new 式と配列型を回避することができます。 これは、暗黙的に型指定される配列と呼ばれます。

int[] array2 = { 1, 3, 5, 7, 9 };
string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

配列変数は作成しなくても宣言できますが、この変数の新しい配列を割り当てるときは new 演算子を使用する必要があります。 次に例を示します。

int[] array3;
array3 = new int[] { 1, 3, 5, 7, 9 };   // OK
//array3 = {1, 3, 5, 7, 9};   // Error

値の型と参照型の配列

次の配列の宣言を検討してみます。

SomeType[] array4 = new SomeType[10];

このステートメントの結果は、SomeType が値型か参照型かによって決まります。 値型の場合、ステートメントでは、それぞれに SomeType 型が含まれる 10 個の要素の配列が作成されます。 SomeType が参照型の場合、ステートメントは、それぞれが null 参照に初期化される 10 個の要素の配列を作成します。 両方のインスタンスで、要素は要素型の既定値に初期化されます。 値の型と参照型の詳細については、値の型参照型に関するページをご覧ください。

配列からのデータの取得

インデックスを使用すると、配列のデータを取得できます。 次に例を示します。

string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

Console.WriteLine(weekDays2[0]);
Console.WriteLine(weekDays2[1]);
Console.WriteLine(weekDays2[2]);
Console.WriteLine(weekDays2[3]);
Console.WriteLine(weekDays2[4]);
Console.WriteLine(weekDays2[5]);
Console.WriteLine(weekDays2[6]);

/*Output:
Sun
Mon
Tue
Wed
Thu
Fri
Sat
*/

関連項目