Value types that redefine System.ValueType.Equals should redefine the equality operator as well to ensure that these members ...

Value types that redefine System.ValueType.Equals should redefine the equality operator 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.