我在Shapes[0].DamageofShape[0] = 7;
收到空引用异常。我是否需要在某处进行另一次初始化?
public struct TestArrayStruct
{
public int[] DamageofShape;
}
class Program
{
static void Main(string[] args)
{
TestArrayStruct[] Shapes = new TestArrayStruct[5];
Shapes[0].DamageofShape[0] = 7;
}
}
答案 0 :(得分:4)
您需要初始化Shapes[0].DamageofShape
1 ,默认值为null
:
Shapes[0].DamageofShape = new int[4];
您也可以在构造函数中执行此操作:
public struct TestArrayStruct
{
public int[] DamageofShape;
public TestArrayStruct(int size)
{
this.DamageofShape = new int[size];
}
}
然而,你 必须用构造函数实例化你的结构才能利用它:
Shapes[0] = new TestArrayStruct(4);
Shapes[0].DamageofShape[0] = 7;
<小时/> 1 以前的版本如果这个答案说你必须实例化
Shapes[0]
,这是不正确的