Преимущество поиска по сравнению с LINQ: доступно в .NET 2.0
Преимущество LINQ перед Find: согласованность с другими последовательностями; синтаксис выражения запроса и т. д.
Преимущество поиска по сравнению с BinarySearch: список не нужно сортировать, вам нужно только сравнение на равенство
Преимущество BinarySearch по сравнению с Find: BinarySearch равно O (log n); Найти O (n)
Преимущество Find над циклом foreach: компактность и отсутствие повторения
Преимущество цикла foreach над Find: любая другая пользовательская обработка, которую вы хотите выполнить
Из них только Find против BinarySearch имеет реальную разницу в производительности. Конечно, если бы вы могли перейти с List<T>
на Dictionary<TKey,TValue>
, то поиск элементов стал бы амортизированным O (1) ...