Как перегрузить методы Equals() и GetHashCode(), для сравнения свойств объектов? - C#
Формулировка задачи:
Есть два объекта класса Квадрат.Необходимо сравнить их по площади заданной свойством. Для этого необходимо перегрузить операторы == и !=. Как теперь перегрузить Equals() и GetHashCode() необходимые для перегрузки этих операторов?
Решение задачи: «Как перегрузить методы Equals() и GetHashCode(), для сравнения свойств объектов?»
textual
Листинг программы
- protected bool Equals(Square other)
- {
- return Width.Equals(other.Width) && Heght.Equals(other.Heght);
- }
- public override bool Equals(object obj)
- {
- if (ReferenceEquals(null, obj)) return false;
- if (ReferenceEquals(this, obj)) return true;
- if (obj.GetType() != this.GetType()) return false;
- return Equals((Square) obj);
- }
- public override int GetHashCode()
- {
- unchecked
- {
- return (Width.GetHashCode()*397) ^ Heght.GetHashCode();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д