Как перегрузить методы Equals() и GetHashCode(), для сравнения свойств объектов? - C#

Узнай цену своей работы

Формулировка задачи:

Есть два объекта класса Квадрат.Необходимо сравнить их по площади заданной свойством. Для этого необходимо перегрузить операторы == и !=. Как теперь перегрузить Equals() и GetHashCode() необходимые для перегрузки этих операторов?

Решение задачи: «Как перегрузить методы Equals() и GetHashCode(), для сравнения свойств объектов?»

textual
Листинг программы
  1. protected bool Equals(Square other)
  2.             {
  3.                 return Width.Equals(other.Width) && Heght.Equals(other.Heght);
  4.             }
  5.  
  6.             public override bool Equals(object obj)
  7.             {
  8.                 if (ReferenceEquals(null, obj)) return false;
  9.                 if (ReferenceEquals(this, obj)) return true;
  10.                 if (obj.GetType() != this.GetType()) return false;
  11.                 return Equals((Square) obj);
  12.             }
  13.  
  14.             public override int GetHashCode()
  15.             {
  16.                 unchecked
  17.                 {
  18.                     return (Width.GetHashCode()*397) ^ Heght.GetHashCode();
  19.                 }
  20.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы