对于foreach循环,从不使用局部变量警告

时间:2014-02-20 15:03:12

标签: c# linq

我在下面写过类似的内容,Resharper表示从不使用本地变量refKey。   我怎样才能使这个写得更好?

  var temp = this.SomeCollection.ToList();
  foreach (var refKey in temp.Where(refKey => this.Teachers.License_key == refKey.ReferenceKey))
  {
      someBool = true;

      this.NotifyPropertyChanged("SomeProperty");
  }

1 个答案:

答案 0 :(得分:8)

如果该查询中有任何项目,那么您想要执行的是执行某些代码,而不是为查询中的每个项目执行这些代码行。 Any方法可让您更有效地执行此操作:

if(temp.Any(refKey => this.Teachers.License_key == refKey.ReferenceKey))
{
    someBool = true;
    this.NotifyPropertyChanged("SomeProperty");
}