2014-02-20 3 views
2

Я написал что-то вроде этого ниже, Resharper говорит, что локальная переменная refKey никогда не используется. Как я могу сделать это написано немного лучше?Локальная переменная никогда не используется предупреждением для цикла foreach

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

     this.NotifyPropertyChanged("SomeProperty"); 
    } 
+1

Определение Nicer - производительность/Elegance/длина линий? Кстати, это не скомпилируется, поскольку вы используете одно и то же имя переменной refKey как переменную и лямбда-переменную. –

+0

. Вы используете одно и то же имя переменной в переменной цикла и параметре лямбда. –

+0

Resharper сообщает вам, что вы делаете цикл с refkey var, и если вы видите, что вы его используете! так в чем смысл! –

ответ

8

Похоже, что вы хотите сделать, это выполнить некоторый код, если есть какие-либо элементы в этом запросе, а не выполнение этих строк кода для каждого элемента в запросе. Метод Any позволяет более эффективно сделать это:

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

круто, спасибо ... –

Смежные вопросы