Я просматриваю код, который принимает IEnumerable<T>
и преобразует его в List<T>
, поэтому он может использовать List<T>.Find(predicate)
:
var myEnumerable = ...;
var myList = new List<T>(myEnumerable);
var match = myList.Find(value => value.Aaa == aaa && value.Bbb == bbb);
Есть ли способ переписать это с помощью методов расширения LINQ, которые имеют такой же эффект, но без создания дополнительного List<T>
в качестве промежуточного шага?
FirstOrDefault(source, predicate)
метод расширения выглядит как хороший кандидат, но пытается выяснить, соответствует ли он точно эквиваленту Find
. p >