[C#] 動的配列を利用する (実行時に配列のサイズを変更する)
このページのタグ:[C#] [C# 配列] [C# 動的配列]
C#では配列は定義時に長さを決定せず、実行時にnewにより配列の長さを決定するため、配列はすべて動的な配列として扱われています。
ここでは、実行時に配列の長さを動的に変更する方法を紹介します。

コード例


private void button7_Click(object sender, EventArgs e)
{
  string[] data = new string[2];
  data[0] = "Penguin";
  data[1] = "Duck";
  //data[2] = "Sparrow";//実行時エラー(System.IndexOutOfRangeException)発生

  for (int i = 0; i < data.Length; i++) {
    textBox1.Text += data[i] + "\r\n";
  }
  textBox1.Text += "--------\r\n";
    
  Array.Resize(ref data, 4);
  data[2] = "Sparrow";
  data[3] = "Hawk";

  for (int i = 0; i < data.Length; i++) {
    textBox1.Text += data[i] + "\r\n";
  }
}

解説

string[] data = new string[2];
にてstring型の配列を定義し配列長を2として配列を作成します。

data[0] = "Penguin";
data[1] = "Duck";
にて配列に値を代入します。

for (int i = 0; i < data.Length; i++) {
  textBox1.Text += data[i] + "\r\n";
}
textBox1.Text += "--------\r\n";
にて、配列の内容をtextBox1に表示します。

Array.Resize(ref data, 4);
にて配列の長さを4にリサイズします。(最初に定義した配列長が2でしたので長さを2つ伸ばすことになります。)
data[2] = "Sparrow";
data[3] = "Hawk";
伸ばした配列の要素に値を代入します。

for (int i = 0; i < data.Length; i++) {
  textBox1.Text += data[i] + "\r\n";
}
にて、配列の内容をtextBox1に表示します。
登録日 :2010-12-31    最終更新日 :2012-07-29
この記事に関連するページ
このページのタグ:[C#] [C# 配列] [C# 動的配列]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)