Мое понимание этих трех было:
-
.Equals()
тесты для равенства данных (из-за отсутствия лучшего описания)..Equals()
может возвращать True для разных экземпляров одного и того же объекта, и это наиболее часто переопределяемый метод. -
.ReferenceEquals()
проверяет, являются ли два объекта одним и тем же экземпляром и не могут быть переопределены. -
==
по умолчанию совпадает сReferenceEquals()
, но этот CAN может быть переопределен.
Но Станция С# сообщает:
В классе объектов
Equals
и МетодыReferenceEquals
семантически эквивалентный, за исключением того, чтоReferenceEquals
работает только на объектов.ReferenceEquals
метод статический.
Теперь я не понимаю. Может ли кто-нибудь пролить свет на это?