使用LINQ更新集合中的所有对象

有没有办法使用LINQ执行以下操作?

foreach (var c in collection)
{
    c.PropertyToSet = value;
}

为了澄清,我想迭代集合中的每个对象,然后更新每个对象的属性。

我的使用案例是,我在博客文章中有大量评论,并且我想遍历博客帖子上的每条评论,并将博客帖子的日期时间设置为+10小时。 我可以在SQL中完成,但我想保留在业务层中。


虽然您可以使用ForEach扩展方法,但如果您只想使用您可以执行的框架

collection.Select(c => {c.PropertyToSet = value; return c;}).ToList();

由于懒惰评估, ToList需要立即评估选择。


collection.ToList().ForEach(c => c.PropertyToSet = value);

我正在这样做

Collection.All(c => { c.needsChange = value; return true; });
链接地址: http://www.djcxy.com/p/51349.html

上一篇: Update all objects in a collection using LINQ

下一篇: How to use linq to find the minimum