Вы можете сделать это:
x.Response.Where(i => i.Id == 1).ToList().ForEach(s => s.Selected = true);
Однако, это немного трата ресурсов, чтобы построить новый список только для этой одной строки кода. Я бы рекомендовал вместо этого:
foreach(var s in x.Response.Where(i => i.Id == 1))
{
s.Selected = true;
}
Если вы хотите обновить более одного элемента, вы можете сделать это вместо того, чтобы:
var s = x.Response.FirstOrDefault(i => i.Id == 1);
if (s != null)
{
s.Selected = true;
}
И, конечно, если вы знаете будет один пункт для обновления, это еще проще:
x.Response.First(i => i.Id == 1).Selected = true;
Если 'x' список, чем почему вы звоните' x.Response', после того, почему вы '.toList'ing это? Это делает новый список. –
Какой тип элемента здесь? Если это ссылочный тип, я бы ожидал, что это сработает, хотя я бы лично не использовал 'ForEach', как это. –
var x = (PaypalResponse) Сессия ["PaypalResponse"]; x.Response // Response is my List –