Types that redefine the equality operator should redefine Equals as well to ensure that these members return the same results. ...

Types that redefine the equality operator should redefine Equals as well to ensure that these members return the same results. This helps ensure that types that rely on Equals (such as ArrayList and Hashtable) behave in a manner that is expected and consistent with the equality operator.