在列表上使用LINQ迭代并设置创建的varible

时间:2016-02-19 08:57:21

标签: c# linq iteration

我有这段代码,并想用linq语句做同样的事。

foreach (var field in fieldExtension)
     {
          if (field.Name.Equals(item.Name))
          {
                field.Access = true;
          }
     }

使用以下方法迭代列表很容易:

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

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

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

有没有人知道如何正确使用linq?因为我不想把它分开。哪个也行。

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

1 个答案:

答案 0 :(得分:3)

为什么你坚持使用linq?在时间上使用linq并不是一个好习惯。

你怎么能把linq与foreach混合。

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