0

クラスがあります

namespace MyClassNameSpace {
   public struct a {
       public float Time;
       public float High;
   }
   public class SoC {
       public string Name;
       public a[] Stock =new a[9];
   }

}

そしてForm1で、SoCの配列を作成します。

public static SoC[] b = new SoC[5];
private void Form1_KeyUp(object sender, KeyEventArgs e) {
    b[1].Name = "ABC"
}

問題は、(ゼロ化bされた)SoCの配列ではなく、nullの配列であるというemptyことです...どうすれば変更できますか?

4

2 に答える 2

9

参照(クラス)タイプの参照変数の配列を作成しています。声明、

public static SoC[] b = new SoC[5];

初期値がnullである5つの参照変数を作成します。

このようにして、オブジェクトを作成できます。

for(int i=0;i<b.Length;i++) {
    b[i]=new SoC();
}
于 2012-07-15T03:47:00.250 に答える
3

配列にスペースを割り当てても、実際にはオブジェクトは作成されません。アイテムごとにループしてコンストラクターを呼び出す必要があります。

于 2012-07-15T03:51:52.227 に答える