首页 > 解决方案 > 如何将多个值添加到列表中特定对象的属性?

问题描述

我有一个Listof Students,我需要在其中的特定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#listwindows-forms-designer

解决方案


您可以在学生对象中添加成绩列表,例如

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);
    }
}

推荐阅读