如何在一个列表中为一个特定对象的属性添加多个值?

问题描述 投票:0回答:1

我有一个 ListStudents 我需要在一个特定的项目中添加一些等级 Student 里面 List但我很难想出如何在不抹掉我刚刚添加的前一个等级的情况下做到这一点。 有什么方法可以做到这一点吗?

我在一个名为 Classroom ,做到了类似这样的这一点。

public void AddGrade(string studentID, int grade) {
    Students specificStudent = StudentsList.Find(foundStudent => foundStudent.studentID == studentID);
    if(specificStudent != null) {
        specificStudent.Grade = grade;
    }
}

但这只增加了一个等级,而且每次都会替换掉它

c# list windows-forms-designer
1个回答
1
投票

你可以在学生对象中添加一个年级列表,例如

class Student
{
    int studentId { get; set; }

    public string Name { get; set; }

    public List<Grade> Grades { get; set; } //(or public List<int> Grades { get; set; })
}

然后。

public void AddGrade(string studentID, int grade)
{
    Student specificStudent = StudentsList.Find(foundStudent => foundStudent.studentID == studentID);
    if (specificStudent != null)
    {
        specificStudent.Grades.Add(grade);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.