C#では配列の初期化時に配列に値を代入できます。
初期化時に配列に値を代入する場合は下記の書式を利用します。
型名[] 配列変数名 = new 型名[配列の長さ] {要素0の値, 要素1の値, 要素2の値, ...}
new 型名[配列の長さ]
は省略可能なため、以下の書式も利用できます。
型名[] 配列変数名 = {要素0の値, 要素1の値, 要素2の値, ...}
string[] items = new string[4]{ "ぺんぎんクッキー", "らくだキャラメル", "しろくまアイス", "かるがもサブレ" };
string[] items = { "ぺんぎんクッキー", "らくだキャラメル", "しろくまアイス", "かるがもサブレ" };
多次元配列の場合は以下の書式になります。
型名[,] = new 型名[次元1の配列長,次元2の配列長] {{要素0,0の値, 要素0,1の値, ...}, {要素1,0の値, 要素1,1の値, ...}, ... }
new 型名[配列の長さ]
は省略可能なため、以下の書式も利用できます。
型名[,] = {{要素0,0の値, 要素0,1の値, ...}, {要素1,0の値, 要素1,1の値, ...}, ... }
int[,] items = new int[3,3]{{2,4,6},{1,3,5},{9,6,3}};
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";
}
}
文字列配列の場合も同様の記述ができます。
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";
}
}
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";
}
}