List Sort использует Comparer вместо IEquatable. Почему?

Я написал целую кучу объектов, которые являются частями коллекций и по которым мне нужно будет выполнять много операций сортировки и поиска. Для большинства этих объектов я реализовал и переопределил метод Equals , IEquatable и оператор! и оператор == .

Теперь я хочу использовать List .Sort для объекта, реализовав все вышеперечисленное, и оказалось, что мне нужно реализовать IComparable для выполнения настраиваемой сортировки.

Почему Sort использует IComparable и в чем тогда смысл наличия IEquatable во всех моих объектах?

Также, что имеет переопределение Object.Equal что делать со всем этим?

11
задан Tony The Lion 26 May 2011 в 12:39
поделиться