配列の初期化時に値を代入する - C#
概要
C#では配列の初期化時に配列に値を代入できます。
書式
初期化時に配列に値を代入する場合は下記の書式を利用します。
型名[] 配列変数名 = new 型名[配列の長さ] {要素0の値, 要素1の値, 要素2の値, ...}
new 型名[配列の長さ]
は省略可能なため、以下の書式も利用できます。
型名[] 配列変数名 = {要素0の値, 要素1の値, 要素2の値, ...}
書式 (多次元配列の場合)
多次元配列の場合は以下の書式になります。
型名[,] = new 型名[次元1の配列長,次元2の配列長] {{要素0,0の値, 要素0,1の値, ...}, {要素1,0の値, 要素1,1の値, ...}, ... }
new 型名[配列の長さ]
は省略可能なため、以下の書式も利用できます。
型名[,] = {{要素0,0の値, 要素0,1の値, ...}, {要素1,0の値, 要素1,1の値, ...}, ... }
記述例
string[] items = new string[4]{ "ぺんぎんクッキー", "らくだキャラメル", "しろくまアイス", "かるがもサブレ" };
string[] items = { "ぺんぎんクッキー", "らくだキャラメル", "しろくまアイス", "かるがもサブレ" };
プログラム例
コード例1
private void button1_Click(object sender, EventArgs e)
{
int[] array = new int[5];
array[0] = 10;
array[1] = 5;
array[2] = 8;
array[3] = 2;
array[4] = 4;
for (int i=0; i < array.Length; i++) {
textBox1.Text += Convert.ToString(array[i])+"\r\n";
}
}
上記のコードは以下のコードと同じ動作になります。
private void button2_Click(object sender, EventArgs e)
{
int[] array = new int[5] {10,5,8,2,4};
for (int i=0; i < array.Length; i++) {
textBox1.Text += Convert.ToString(array[i]) + "\r\n";
}
}
コード例2
文字列配列の場合も同様の記述ができます。
private void button3_Click(object sender, EventArgs e)
{
string[] array = new string[5] { "Penguin", "Bear", "Whale", "Camel", "Ostrich" };
for (int i=0; i < array.Length; i++) {
textBox1.Text += array[i] + "\r\n";
}
}
補足
配列数を指定せずに初期化もできます。
private void button3_Click(object sender, EventArgs e)
{
string[] array = new string[] { "Penguin", "Bear", "Whale", "Camel", "Ostrich" };
for (int i=0; i < array.Length; i++) {
textBox1.Text += array[i] + "\r\n";
}
}
コード例3
private void button5_Click(object sender, EventArgs e)
{
string[,] array = new string[3, 3]
{ { "ペンギン", "シロクマ", "アザラシ" }, { "ラクダ", "ゾウ", "シマウマ" },
{ "クジラ", "イルカ", "シャチ" } };
for (int i=0; i < array.GetLength(0); i++) {
for (int j=0; j < array.GetLength(1); j++) {
textBox1.Text += array[i,j] + "\t";
}
textBox1.Text += "\r\n";
}
}
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用