我在我的代码中使用以下数组(注册是我的一个类)
Enrolment[] enrolment;
我知道这里没有初始化数组,这对错误有意义。但是,数组在以下代码块中初始化。
public void AddStudent(Person studentName)
{
try
{
for (int i = 0; i < enrolment.Length; i++)
{
if (RelevantCourse.CourseCode == null)
{
throw new Exception("This section has not been added to a course.");
}
else if (enrolment.Length == MaxNumberOfStudents)
{
throw new Exception("Cannot add this student to section. Section is full.");
}
}
int currentLength = enrolment.Length;
enrolment[currentLength] = new Enrolment(SectionId, studentName, RelevantCourse.NoOfEvaluations);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
此代码块运行try-catch块,以查看将此Enrolment
对象添加到enrolment
数组是否会出现任何错误。 enrolment
数组显示一个错误,指出&#34;字段从未分配给,并且将始终具有其默认值null&#34;。编译代码时,它显然会引发空引用异常。
为什么它的值为null?有人可以指引我在正确的方向找到解决方案吗?
答案 0 :(得分:1)
你必须初始化数组
Enrollment[] enrollments = new Enrollment[{lengthofarray}];
您无法添加内容或获取包含数组的未初始化对象的属性