由于我刚刚了解访问器,我遇到了一个问题,我想学习如何让它与数组一起使用,这是我的脚本
public Vak[] vakken = new Vak [5];
我用来创建访问器的类是下一个:
public class Vak
{
public string name {get; set;}
public string docent {get; set;}
public int uren {get; set;}
}
在我的按钮单击事件中,这就是我想通过此命令设置它的方式,但我不知道为什么它会给我空引用错误。
vakken[0].name = "Joe";
感谢您的帮助!
最佳答案
发生这种情况是因为您没有实例化您的类。创建 Vaks 数组时,在其后面创建一个 for 循环来实例化每个元素,如下所示:
for (int i = 0; i < vakken.Length; i++)
{
vakken[i] = new Vak(); // this basically allocates memory for your object
}
您可以更改该数组中每个元素的每个属性的值。
为了澄清,使用 new 关键字调用构造函数,它基本上是类似方法的代码块,在实例化类时执行。在你的类中你没有定义构造函数。如果这样做,编译器会创建一个默认的无参数构造函数,我使用它来创建数组的每个元素的实例。
关于C# get、set访问器与数组结合【system.null引用异常】,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23447485/