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