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.

有帮助吗?

解决方案

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

其他提示

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top