我正在从我自己的班级创建一个构造:
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";
有人可以帮助我理解为什么吗? 谢谢
答案 0 :(得分:0)
您需要先向数组添加项目。在您的代码中,您只创建了一个帧结构类型的空数组。
您可以像这样添加项目到数组......
frame[1]= new frameSructure();
答案 1 :(得分:0)
您已初始化数组,但未初始化其中的值。 这意味着虽然数组确实有10个条目,但它们都是空的。
将表单加载更改为:
private void Form1_Load(object sender, EventArgs e)
{
frame[1] = new frameSructure();
frame[1].type = "n/a";
}
顺便说一下,c#中的数组从0开始,而不是1。