我正在尝试上课,以保存有关学生的数据,以及他的课程列表(带有分数)。但是,当我尝试添加数据进行测试时,在“ student.courses.Add(course);”处出现错误,即“对象引用未设置为对象的实例”。谁能给我一个提示,这是怎么回事?
static void Main(string[] args)
{
var student = new Student();
student.id = 1;
student.name = "John";
student.lastName = "K.";
var course = new Course();
course.code = 123;
course.nameOfCourse = "Course Name";
student.courses.Add(course);
}
public class Student
{
public int id { get; set; }
public string name { get; set; }
public string lastName { get; set; }
public List<Course> courses { get; set; }
}
public class Course
{
public int code { get; set; }
public string nameOfCourse { get; set; }
public int mark{ get; set; }
}
您没有初始化courses
属性:
var student = new Student();
student.Courses = new List<Course>();
student.Id = 1;
student.Name = "John";
student.LastName = "K.";
但是最好在Student
类内部对其进行初始化,因此它将是:
public class Student
{
private List<Course> courses = new List<Course>();
public int Id { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
public List<Course> Courses
{
get
{
return courses;
}
set
{
courses = value;
}
}
}
旁注:最好用大写字母命名公共属性,而用小写字母命名私有字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句