Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ';新';正在创建空值数组而不是空值类数组_C#_Arrays_Class_Struct_Null - Fatal编程技术网

C# ';新';正在创建空值数组而不是空值类数组

C# ';新';正在创建空值数组而不是空值类数组,c#,arrays,class,struct,null,C#,Arrays,Class,Struct,Null,我有一节课 namespace MyClassNameSpace { public struct a { public float Time; public float High; } public class SoC { public string Name; public a[] Stock =new a[9]; } } 在表1中,我创建了一个SoC阵列: public static SoC[] b = new

我有一节课

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

在表1中,我创建了一个SoC阵列:

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

问题是
b
是一个空数组,而不是
空数组
(归零)SoC。。。如何更改该值?

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

public static SoC[] b = new SoC[5];
创建初始值为空的5参考变量

这样可以创建对象:

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

for(int i=0;i为数组分配空间实际上并不会创建对象。您需要遍历并调用每个项的构造函数