Задать вопрос
@ddd329

Правильно ли переопределен метод Equals в C#?

На сайте Microsoft приведен пример того, как переопределять метод Equals.
6026a0990639e880298883.png
Смущает то, что нет проверки this.GetType() != other.GetType(), как обычно приводят в примерах.
Как вы считаете, корректно ли это?
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
В данном случае реализация корректная, но она может повести себя некорректно, если создавать наследника ImaginaryNumber.
Так что по-хорошему надо проверять и типы через GetType, что вы и заметили.
GetHashCode кстати сейчас рекомендуется реализовывать через структуру HashCode
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Когда приводится из обджекта там и проверяется тип
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы