Question

I need to compare the values of some reference types that I've created. Which should I override, the Object.Equals method or the == operator? I'm guessing that Object.Equals is the right way to go since I'm not comparing the references themselves.

Était-ce utile?

La solution

You should override the Equals() method (and most likely GetHashCode() method as well, to preserve the equivalence)

public override bool Equals(object obj) { ... }

public override int GetHashCode() { ... }

Please see the msdn reference on the topic

Also see this possible duplicate

Autres conseils

To go along with what karim said, I recommend you follow the MSDN guidelines for overloading the Equals operator, as well as overload the == operator. This gives you a bit more flexibility on your future usage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top