原谅一个愚蠢的问题,但我是新来的C#& OOP。如何初始化嵌套数组
任何人都可以帮助我防止“System.NullReferenceException:”?
我正在尝试按照指示完成一项任务,并使用我们迄今为止学到的内容(数组,类和构造函数)。
我创建了一个StudentSubjects类的数组,并将其嵌入到一个Student类的数组中。
我想打印每个学生的科目的详细信息。
我可以访问StudentArray[0]
领域OK,但因为“对象引用不设置到对象的实例”不能获取到StudentArray[0].StudentSubjectsArray[0]
领域
我已经待了两个星期寻找一个答案,但无法找到如何设置
StudentArray[0].StudentSubjectsArray[0].SubjectName = "Algebra";
任何意见,任何例子最欣赏的。我的代码如下....
using System;
namespace Nested_Arrays
{
public class Program
{
static void Main(string[] args)
{
Student[] StudentArray = new Student[1];
Console.WriteLine($"Hello");
StudentArray[0] = new Student();
StudentArray[0].StudentName = "Peter";
StudentArray[0].StudentLocation = "Australia";
Console.WriteLine($"{StudentArray[0].StudentName,10} {StudentArray[0].StudentLocation,15}");
StudentArray[0].StudentSubjectsArray[0].SubjectName = "Algebra";
StudentArray[0].StudentSubjectsArray[0].StudentsResult = "Pass";
Console.WriteLine($"{StudentArray[0].StudentName,10} {StudentArray[0].StudentLocation,15} {StudentArray[0].StudentSubjectsArray[0].SubjectName,15} {StudentArray[0].StudentSubjectsArray[0].StudentsResult,10}");
Console.WriteLine($"Goodbye");
}
public class Student
{
public string StudentName;
private string studentName
{ get { return studentName; } set { studentName = value; } }
public string StudentLocation;
private string studentLocation
{ get { return studentLocation; } set { studentLocation = value; } }
public StudentSubjects[] StudentSubjectsArray;
private StudentSubjects[] studentSubjectsArray
{ get { return studentSubjectsArray; } set { studentSubjectsArray = value; } }
//Constructor
public Student() { }
}
public class StudentSubjects
{
public string SubjectName;
private string subjectName
{ get { return subjectName; } set { subjectName = value; } }
public string StudentsResult;
private string studentsResult
{ get { return studentsResult; } set { studentsResult = value; } }
//Constructor
public StudentSubjects() { }
}
}
}
你的代码看起来很奇怪。我想建议使用'List'而不是数组 - 它更灵活和安全地处理集合。 – MaKCbIMKo
你好MaKCbIMKo。我不能使用列表,因为这是一个任务,我必须做老师所说的 - 他说使用数组。 – Joe