c#未处理的异常:对象引用未设置为对象的实例

时间:2013-10-28 01:14:40

标签: c#

我遇到了一系列类的问题。基本上我创建了一个类'Student'的数组,但是我无法为数组中实例的任何属性赋值,因为我在标题中得到了未处理的异常。这是代码:

class ControllerQueue
{
    model.ModelStudent q = new model.ModelStudent();

    static int capacity = 15;
    model.ModelStudent[] arr = new model.ModelStudent[capacity];
    int top = -1, rear = 0;

    public ControllerQueue()
    {
        arr[0].name = "a";
        arr[0].grade = 0;
    }
}

我尝试从构造函数中分配值,但我仍然得到相同的结果。现在,异常本身显然是sais我没有实例化Student类但我不明白为什么它会说,我已经实例化了它。 提前致谢。

3 个答案:

答案 0 :(得分:1)

你需要

arr[0] = new ModelStudent();
arr[0].name = "a";
arr[0].grade = 0;

你需要这个,因为你必须new将一个实例放到索引0的数组中

model.ModelStudent[] arr = new model.ModelStudent[capacity];

只会分配数组,但每个条目默认为ModelStudent (null)的默认值

答案 1 :(得分:1)

您需要实例化数组的成员

将项目添加到您的数组中

arr[0] = new ModelStudent();
arr[0].name = "a";
arr[0].grade = 0;

答案 2 :(得分:1)

您的项目0未设置。

尝试。

model.ModelStudent q = new model.ModelStudent();

        static int capacity = 15;
        model.ModelStudent[] arr = new model.ModelStudent[capacity];
        int top = -1, rear = 0;


        public ControllerQueue()
        {
            arr[0] = new model.ModelStudent();
            arr[0].name = "a";
            arr[0].grade = 0;
        }