配列の初期化時に値を代入する - 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を愛用
掲載日: 2010-12-28
iPentec all rights reserverd.