我创造我自己的类结构:Array from Array;系统空引用异常
namespace testproject
{
public class frameSructure
{
public string type = "n/a";
public string reader = "n/a";
}
}
当我使用它的形式作为一个单一的建设,一切都很好,但是当我创建一个数组,当我尝试使用它:
namespace testproject
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public frameSructure[] frame = new frameSructure[10];
private void Form1_Load(object sender, EventArgs e)
{
frame[1].type = "n/a";
}
}
}
我得到一个系统空引用异常。 {“对象引用未设置为对象的实例。”}
frame[1].type = "n/a";
有人可以帮我理解为什么吗? 谢谢
当创建引用类型的阵列(如你的'frameStructure')的数组充满空值;它没有填充该类的默认构造实例。你将不得不循环填充实际的实例。 –
这是因为'new frameStruct'只在堆栈/堆上分配内存,但不创建* struct的任何实例。事先需要'frame [1] = new frameStruct()'。 – HimBromBeere
另请参阅http://stackoverflow.com/questions/18849325/c-null-reference-exception –