c# - 如何将多个值添加到列表中特定对象的属性?
问题描述
我有一个List
of 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;
}
}
但这只会增加一个等级并且每次都替换它
解决方案
您可以在学生对象中添加成绩列表,例如
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);
}
}
推荐阅读
- php - 如何仅从 amazon s3 laravel 获取图像的文件名
- arrays - Powershell - 将来自 Foreach 循环的多个结果存储到一个数组中
- python - 在数据框 pandas 内过滤
- mongodb - 使用 mongosh 进行自动身份验证
- php - 带有 Fortify 的 Laravel 8.55 显示登录时找不到类“App\Providers\User”
- javascript - 如何为画布标签赋予样式?
- python - 如何分离大数据框并将其保存到新的较小数据框并将其导出到python中的csv文件?
- ruby-on-rails - 有什么方法可以知道最后一个 PostgreSQL 物化视图是什么时候更新的?
- javascript - 我的 getcookie 代码在 iphone 上不起作用
- networking - NAPT 是否包括端口转发?