я хочу использовать List.BinarySearch ()
с пользовательским типом элемента. Пользовательский тип не реализует IComparable
; вместо этого у меня есть несколько статических Comparison
функций, которые я вызываю, потому что в разных точках я хочу отсортировать список по разным критериям. Кроме того, я думаю, что это добавляет ясности, поскольку способ сортировки можно описать по имени функции. Теперь я хочу выполнить двоичный поиск по списку. Я хотел использовать одну из моих функций сравнения, но обнаружил, что List.BinarySearch ()
не имеет перегрузки, которая принимает Comparison
, только IComparer < T>
. Я стараюсь избегать использования IComparer
, потому что мне кажется глупым иметь отдельный класс только для сравнения объектов. Почему List.BinarySearch ()
не имеет перегрузок, которые принимают Comparison
в дополнение к IComparer
? И есть ли способ использовать мои существующие функции Comparison
в List.BinarySearch ()
?