0

我对一系列类有疑问。基本上我创建了一个'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 类,但我不明白为什么会这样说,我已经实例化了它。提前致谢。

4

3 回答 3

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;
        }
于 2013-10-28T01:16:24.300 回答
1

你需要

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

您需要这个,因为您必须new创建一个实例才能放入索引 0 处的数组中

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

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

于 2013-10-28T01:15:56.153 回答
1

你需要实例化你的数组的成员

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

arr[0] = new ModelStudent();
arr[0].name = "a";
arr[0].grade = 0;
于 2013-10-28T01:16:10.183 回答