我有一个班级
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的数组......如何更改?
答案 0 :(得分:9)
您正在创建 Reference(class)类型的引用变量数组。声明,
public static SoC[] b = new SoC[5];
创建 5 引用变量,其初始值为null。
这样你就可以创建对象了:
for(int i=0;i<b.Length;i++) {
b[i]=new SoC();
}
答案 1 :(得分:3)
为阵列分配空间实际上并不创建对象。您需要遍历并调用每个项目的构造函数。