【问题标题】:'new' is creating an array of nulls instead of an array of empty valued class'new' 正在创建一个空数组,而不是一个空值类数组
【发布时间】:2012-07-14 09:52:22
【问题描述】:

我有课

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 的数组......我该如何改变它?

【问题讨论】:

    标签: c# arrays class struct null


    【解决方案1】:

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

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

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

    这样你可以创建对象:

    for(int i=0;i<b.Length;i++) {
        b[i]=new SoC();
    }
    

    【讨论】:

      【解决方案2】:

      为数组分配空间实际上并不创建对象。您需要循环并调用每个项目的构造函数。

      【讨论】:

        猜你喜欢
        • 2021-07-17
        • 1970-01-01
        • 2016-06-27
        • 2017-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多