列表<t>所有行更新</t>

时间:2015-01-20 15:03:32

标签: c# linq

我有一个简单的模型:

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

我在ListOf<T>

中有该列表

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

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

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

4 个答案:

答案 0 :(得分:4)

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

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

值得一提的是,不会避免迭代过集合,只是语法发生了变化。

希望这有帮助。

答案 1 :(得分:1)

您可以使用ForEach上的List<T>方法代替:

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

可以找到该方法的MSDN here

答案 2 :(得分:0)

由于延迟评估,您可以尝试使用由ToList()评估的select语句

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

答案 3 :(得分:0)

在这里,您可以采用不同的方式&#34;:

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

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