列表<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++;
}
我有一个简单的模型:
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++;
}