Search code examples
c#interfaceicomparableiequatable

What's the difference between IComparable & IEquatable interfaces?


Both the interfaces seem to compare objects for equality, so what are the major differences between them?


Solution

  • IEquatable tests whether two objects are equal.

    IComparable imposes a total ordering on the objects being compared.

    For example, IEquatable would tell you that 5 is not equal to 7. IComparable would tell you that 5 comes before 7.