BinarySearch со значением поля на входе
От: Barbar1an Украина  
Дата: 21.03.25 20:33
Оценка:
Есть такой поиск по списку

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 г.
Отредактировано 21.03.2025 20:59 Barbar1an . Предыдущая версия . Еще …
Отредактировано 21.03.2025 20:57 Barbar1an . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.