My understanding of these three was:
.Equals()tests for data equality (for the lack of a better description)..Equals()can return True for different instances of the same object, and this is the most commonly overridden method..ReferenceEquals()tests whether or not two objects are the same instance and cannot be overridden.==is the same as theReferenceEquals()by default, but this CAN be overridden.
But C# station states:
In the object class, the
EqualsandReferenceEqualsmethods are semantically equivalent, except that theReferenceEqualsworks only on object instances. TheReferenceEqualsmethod is static.
Now I don't get it. Can anyone shed some light on this?