#408 – Overloading the == Operator for a Reference Type
September 9, 2011 2 Comments
You can override the Equals method for a type to implement value equality for the type. You can also overload the == operator.
By default, the == operator will do a reference equality check, only returning true if two references point to exactly the same object. This is normally what you want for a reference type, using the Equals method if you want to check for value equality. But there might be cases when you want to also overload the == operator, having it also check for value equality. You might do this if your type represents some basic value, like a complex number.
Some guidelines. Whenever you overload the == operator, you should also:
- Overload != operator
- Override Equals method
- Overload < and > operators