Domanda

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.

È stato utile?

Soluzione

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

Altri suggerimenti

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top