both the interfaces seem to compare objects for equality, so what\'s the major differences between them?
In addition to Greg D's answer:
You might implement IComparable
without implementing IEquatable
for a class where a partial ordering makes sense, and where you very definitely want the consumer to infer that just because CompareTo()
returns zero, this does not imply that the objects are equal (for anything other than sorting purposes).