C# get、set访问器与数组结合【system.null引用异常】

标签 c# get set accessor

由于我刚刚了解访问器,我遇到了一个问题,我想学习如何让它与数组一起使用,这是我的脚本

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/

相关文章:

php - jQuery load() 并传递给 php GET 并从 #div 获取数据

algorithm - 集合算法的 Ocaml 实现建议

c# - Windows CE 在窗体顶部显示不存在的面板

c# - 继承和覆盖方法/属性

php - 如何使脚本从 MYSQL 数据库中检索特定数据?

javascript - 为什么 ES6 “get” 没有 “Set” 方法?

c++ - 需要按插入顺序设置 STL

c# - 我们什么时候必须在 C# 中使用隐式和显式运算符?

c# - 如何使用聚合根内部数据库中的数据填充子实体?

java - 在android java中从互联网获取txt文件的一部分