繁体   English   中英

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

[英]c# unhandled exception: object reference not set to an instance of an object

我对一组类有问题。 基本上,我创建了一个'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;
    }
}

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

你需要

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

您需要这样做,因为您必须new一个实例以将其放入索引为0的数组中

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

只会分配数组,但是默认情况下每个条目都是ModelStudent的默认值(null)

您需要实例化数组的成员

像这样将项目添加到您的数组中

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

您的项目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;
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM