LINQ一次更新多个元素

gru*_*ber 25 c# linq

是否可以使用LINQ在List中为每个元素设置属性.

例如:

var users = from u in context.Users where u.Name == "George" select u;

foreach (User us in users){
   us.MyProp = false;
}
Run Code Online (Sandbox Code Playgroud)

是否可以使其更清洁?

Anu*_*raj 63

或者您可以将其转换为ToList()并使用ForEach方法.

users.ToList().ForEach(u => u.MyProp = false);
Run Code Online (Sandbox Code Playgroud)

更新多个属性

users.ToList().ForEach(u =>
                      {
                         u.property1 = value1;
                         u.property2 = value2;
                      });
Run Code Online (Sandbox Code Playgroud)

或者像这样

(from u in context.Users where u.Name == "George" select u).ToList()
.ForEach(u => u.MyProp = false);
Run Code Online (Sandbox Code Playgroud)