DOBON.NET DOBON.NETプログラミング掲示板過去ログ

引数有りコンストラクタをもつクラス配列の初期化

環境/言語:[OS:WindowsXP,言語:C#(VS2008)]
分類:[.NET]

いつもお世話になっております。

言語:[C#]

引数ありのコンストラクタをもつクラスの配列をNewするにはどうすればよろしいでしょうか?

例:

class TEST
{
public TEST(int A)
{
...
}
}

というクラスを、以下のようにはnewできない。

・TEST[] B = new TEST[100](1)
・TEST[] B = new TEST(1)[100]

以上、よろしくお願いします。
クラスを配列に格納してNewしたいということと感じとって…。

ArrayList clsArray = new ArrayList();

clsArray.Add(new TEST(10)); 
clsArray.Add(new TEST(11)); 
clsArray.Add(new TEST(12)); 
           ・
           ・
           ・

で実行部分として

foreach (TEST cls in clsArray) { 
    cls.hogehoge();
}

みたいな感じでしょうか。
> 引数ありのコンストラクタをもつクラスの配列をNewするにはどうすればよろしいでしょうか?

C#3.0でしょうか?もしそうであればコレクション初期化子が利用できます。

//サンプル
TEST[] testList = new[]{new Test(0),new TEST(1),new TEST(3)・・・・};

ただ数が多い場合は、別途ループしたほうが簡単ですね。
■No22612に返信(k-yamamotoさんの記事)
> C#3.0でしょうか?もしそうであればコレクション初期化子が利用できます。

おぉっと。
>環境/言語:[OS:WindowsXP,言語:C#(VS2008)] 
VS2008と書かれてますね。見落としてました。

DOBON.NET | プログラミング道 | プログラミング掲示板