После обновления до ReSharper5 он дает мне еще более полезные советы по улучшению кода. Один из них, который я вижу повсюду, теперь является подсказкой для замены foreach-операторов запросами LINQ. Возьмите этот пример:
private Ninja FindNinjaById(int ninjaId)
{
foreach (var ninja in Ninjas)
{
if (ninja.Id == ninjaId)
return ninja;
}
return null;
}
Это предложение заменено следующим использованием LINQ:
private Ninja FindNinjaById(int ninjaId)
{
return Ninjas.FirstOrDefault(ninja => ninja.Id == ninjaId);
}
Все выглядит хорошо, и я уверен, что нет никакой проблемы с производительностью, чтобы заменить этот foreach. Но это что-то, что я должен делать в целом? Или я могу столкнуться с проблемами производительности со всеми этими запросами LINQ?