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