列表<T> 所有行更新

List<T> All rows update

我有一个简单的模型:

Id          Name             Hot
----------- ---------------- -----------
1           Nicole           False
2           Samanta          False
3           Sabrina          False

我在 ListOf<T>

中有那个列表

我想将所有项目的 Hot 属性 更改为 True

我的名单上有成千上万的女孩,所以我想知道我是否可以用不同的方式做到这一点,避免做以下事情:

foreach(var item in girls)
{
    item.Hot = True;
}

不,你不能。您需要迭代并设置 属性。 看起来更性感的代码(考虑到我们谈论的是辣妹)可能看起来像

girls.ForEach(g=>g.Hot = true);

值得一提的是,此 并未避免对集合进行迭代 ,只是语法发生了变化。

希望对您有所帮助。

您可以尝试使用由 ToList() 计算的 select 语句,因为延迟计算

girls.Select(g => {g.Hot = True; return g;}).ToList();

您可以在 List<T> 上使用 ForEach 方法:

girls.ForEach(girl => girl.Hot = true);

可以找到关于该方法的 MSDN here

给你"the different way":

for(int i = 0; i < girls.Count; i++)
{
    girls[i].Hot = True;
}

int i = 0;
while(i < girls.Count)
{
    girls[i].Hot = True;
    i++;
}