我創造我自己的類結構: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 –