As far as I know, the conventions for ToString() inextricably linked between the conventions for the other 2 redefined methods on the object - GetHashCode and Equals .
That is, when Equals returns true, then the same hash code must be generated using GetHashCode . To add to this, I would say that when Equals returns true, ToString should return the same string.
source share