2012年2月3日金曜日

C# オブジェクトの配列

基本的なことなのにいつも忘れてしまう。
C#のオブジェクトの配列について。

intやstringとかの基本的なデータ型は
int[] array = new int[5];

同時に初期化もしたいなら以下でOK。
int[] array1 = new int[] { 1, 3, 5, 7, 9 };
int[] array2 = {1, 3, 5, 7, 9};
string[] days = {"Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat"};


で、それ以外のオブジェクト型の配列は二段階を踏む必要があるとか。
//配列と配列の実体を作り(ここではmyClass10個分の配列の受け皿を作る)
myClass[] obj = new myClass[10];
//配列の中に入れるmyClassの実体を個別に作る
for(int i=0; i<10; i++)
{
   obj[i] = new myClass();
}

参考: http://msdn.microsoft.com/ja-jp/library/9ct4ey7x(v=vs.90).aspx


本当に二段階必要だったかなぁ、一発で初期化もできる方法あったような気もしたけれど
別にこれでできるからいっか。。