我不能用:
修改通用列表var x = (PaypalResponse)Session["PaypalResponse"]; // x.Response is my List
x.Response.ToList().Where(i => i.Id== 1).ForEach(s => s.Selected = true);
我在哪里做错了?
感谢。
答案 0 :(得分:1)
你可以这样做:
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;