Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
226 views
in Technique[技术] by (71.8m points)

c# - update multiple elements at once LINQ

Is it possible to set property on each element from List using LINQ.

for example:

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

foreach (User us in users){
   us.MyProp = false;
}

Is it possible to make it cleaner ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Or you can convert it to ToList() and use ForEach method.

users.ToList().ForEach(u => u.MyProp = false);

to update more than one properties

users.ToList().ForEach(u =>
                      {
                         u.property1 = value1;
                         u.property2 = value2;
                      });

Or like this

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...