如何在列表C#中更改多个对象

时间:2018-07-21 18:30:40

标签: c#

用户必须输入学生的姓名,然后输入他遇到的错误数(numFaltas列)

如何仅更改numFalts列并保留其余部分?

对不起,英语。我正在学习。 谢谢!

我的列表:

alunosMatriculados.Add(new Aluno
{
    matAluno   = 1,
    nomeAluno  = "THIAGO BUARQUE",
    cpfAluno   = "111.111.111-11",
    turmaAluno = "3H",
    numFaltas  = 4
});

alunosMatriculados.Add(new Aluno
{
    matAluno   = 2,
    nomeAluno  = "MARIANA DA SILVA",
    cpfAluno   = "111.111.111-12",
    turmaAluno = "2I",
    numFaltas  = 0
});

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

.

但是要小心,因为如果有多个同名学生,您将为所有学生改错。最好确保名称唯一或使用唯一字段,例如ID(也许是您的if (alunosMatriculados.Any(a => a.nomeAluno == inputName)) alunosMatriculados.Where(a => a.nomeAluno == inputName).ToList().ForEach(a =>a.numFaltas = inputFaults);

答案 1 :(得分:0)

您可以使用foreach循环以简单的方式完成此操作

您首先要验证您的inputName参数是否为空

喜欢

if (!String.IsNullOrEmpty(inputName))
{     
    foreach (Aluno a in alunosMatriculados)
        if (a.nomeAluno == inputName)
            a.numFaltas = inputValue;
}
上面代码中的

也可以使用comapre id代替内部条件中的inputName

通过这种方式只能更改您的numFaltas以及您想要的其他任何内容