关于c#:在列表上使用LINQ迭代并设置created变量

Iterate with LINQ over a list and set founded varible

本问题已经有最佳答案,请猛点这里访问。

我有这段代码,并且希望对LINQ语句执行同样的操作。

1
2
3
4
5
6
7
foreach (var field in fieldExtension)
     {
          if (field.Name.Equals(item.Name))
          {
                field.Access = true;
          }
     }

在列表中迭代很容易:

1
fieldExtension.Where(field => field.Name.Equals(item.Name));

但是,是否可以为我们在列表中找到的变量赋值?我想到了这样的事情:

1
fieldExtension.Where(field => field.Name.Equals(item.Name)).Select(field => field.Access = true);

有人知道如何正确使用Linq吗?因为我不想分开。这也行。

1
2
var result = fieldExtension.Where(field => field.Name.Equals(item.Name)).ToList();
result.FirstOrDefault().Access = true;


你为什么坚持要林肯?一直使用LINQ不是一个好习惯。

你怎么能把Linq和ForEach混合起来呢?

1
2
3
4
foreach (var field in fieldExtension.Where(f => f.Name.Equals(item.Name)))
{
    field.Access = true;
}