Не уверен, что я собираюсь сделать это правильно, но хочу обновить определенные свойства объекта пользователя, содержащегося в списке пользователей, в зависимости от того, содержится ли он в другом списке.Обновление существующего объекта пользователя в цикле
Это то, что я пробовал.
foreach (var v in usersAssessment)
{
if (users.Select(t => t.Id).Contains(v.Id))
{
var user = users.Where(p => p.Id == v.Id).FirstOrDefault();
switch (v.ModuleCode)
{
case "M01":
user.M01 = v.ScoreObtained;
break;
}
//this is where I am trying to update the user but to no avail
users.Where(p => p.Id == v.Id).FirstOrDefault() = user;
}
}
Как обновить значения свойств?
Сердечные приветы
Вы получаете ссылку (а не копию) на существующий объект из 'Where (...). FirstOrDefault()', поэтому обновление объекта будет обновлять то, что находится в списке. – crashmstr
@crashmstr правильно, пользовательский объект будет иметь обновленное значение свойства M01. –
До тех пор, пока 'user' является классом и не является изменяемой структурой :) –