IComparable - это интерфейс, который вы реализуете для класса, который вы хотите быть ... сопоставимым. Метод Sort знает, как работать с интерфейсом IComparable сразу. Итак, из этого следует, что если вы хотите сортировать, используя метод Sort, ваш класс должен реализовать IComparable
В противном случае, когда вы вызываете CompareTo
для своего класса, как вы ожидаете, что алгоритм сортировки узнает, как ваш класс логически сортирует?
Это некоторая предыстория того, как работает IComparable
, но не похоже, что это проблема здесь, если я не читаю. Похоже, вы пытаетесь:
- Заполните
OrderedByPopularity
связкой целых чисел.
- Сортировка целых чисел.
Если вы действительно хотите отсортировать целые числа в вашем списке, вам просто нужно использовать
(i1, i2) =>
{
return i1.CompareTo(i2);
}
int
(который является типом элемента в List
) уже имеет CompareTo
.
Это отвечает на вопрос?