Есть такой поиск по списку
List<E> Entries;
return Entries.Find(i => i.A == a);
он отсортирован значит можно бинарным поиском искать
но проблема в том что мы тут ищем по значению поля, а не сам элемент, хотя мы можемзадать компаратор
var i = Entries.BinarySearch(сюда наша шото передать, Comparer<E>.Create((x, y) => x.A.CompareTo(y.A)));
return Entries[i];
но нам нужно все равно передать элемент для поиска, а его нет, есть только значения поля, и создать его нельзя потому E это шаблонный параметр который нельзя создать
можно ли разрулить без
Entries.Select(i => i.A).ToList().BinarySearch...
ибо такое может может похерить весь бенефит от BinarySearch
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.