我有这段代码,并想用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;
答案 0 :(得分:3)
为什么你坚持使用linq?在时间上使用linq并不是一个好习惯。
你怎么能把linq与foreach混合。
foreach (var field in fieldExtension.Where(f => f.Name.Equals(item.Name)))
{
field.Access = true;
}