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是一个空数组,而不是一个empty(归零)SoC 数组......我该如何改变它?

4

2 回答 2

9

您正在创建一个引用(类)类型的引用变量数组。该声明,

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

创建5 个初始值为 null 的引用变量。

这样您就可以创建对象:

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 回答