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.

Was it helpful?

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top