Как перегрузить методы 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д