linq/lambda中的多行foreach循环

linq/lambda中的多行foreach循环,linq,lambda,foreach,Linq,Lambda,Foreach,我正在寻找更改以下代码的方法: foreach (Contact _contact in contacts) { _contact.ID = 0; _contact.GroupID = 0; _contact.CompanyID = 0; } 我想使用LINQ/lambda将其更改为类似于: contacts.ForEach(c => c.ID = 0; c.GroupID = 0; c.CompanyID = 0); 然而,这不起作用。在linq foreac

我正在寻找更改以下代码的方法:

foreach (Contact _contact in contacts)
{
    _contact.ID = 0;
    _contact.GroupID = 0;
    _contact.CompanyID = 0;
}
我想使用LINQ/lambda将其更改为类似于:

contacts.ForEach(c => c.ID = 0; c.GroupID = 0; c.CompanyID = 0);
然而,这不起作用。在linq foreach中,除了编写一个函数在一行中完成这项工作之外,还有其他方法可以实现多行吗

contacts.ForEach(c => { c.ID = 0; c.GroupID = 0; c.CompanyID = 0; });

它与LINQ本身没有任何关系;这只是一个简单的匿名方法,用lambda语法编写,传递给
列表。ForEach
函数(自2.0开始存在,在LINQ之前)。

LINQ代表语言集成查询-这意味着它用于查询-即提取序列或将序列转换为新的集合,不操纵原作


和是通往foreach的便捷快捷方式;没什么特别的。

我正在寻找一种在LINQ Select中执行多行语句的方法。ForEach语法允许我这样做。非常感谢。谢谢,这很有帮助。它似乎有点类似于ES6中的map函数。