Luffy1
@Luffy1
Student, Junior .NET programmer, C#, JS, HTML/CSS

Правильно ли я понял, как работают Equals, ReferenceEquals and ==?

Личные типы и, возможно, массивы:
У ссылочных типов, если не переопределять:
Equals: сравниваются ссылки, но не свойства\поля, если они одинаковые
ReferenceEquals: сравниваются ссылки
==: сравниваются ссылки
Примитивные типы:
Значимые:
Equals: сравниваются значения с учётом типа
ReferenceEquals: сравниваются ссылки
==: сравниваются значения
Ссылочные:
Equals: сравниваются значения с учётом типа
ReferenceEquals: сравниваются ссылки
==: сравниваются значения с учётом типа
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
Griboks
@Griboks Куратор тега C#
Чтобы правильно понять, надо прочитать официальную документацию.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
Нет, не правильно.
Equals - используется метод Equals, который по-умолчанию сравнивает ссылки, но часто он переопределён.
ReferenceEquals - сравниваются ссылки
== - вызывается оператор, который по-умолчанию не определён в принципе
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы