Search code examples
c#.netequalsiequalitycompareriequatable

What is the difference between IEqualityComparer<T> and IEquatable<T>?


I want to understand the scenarios where IEqualityComparer<T> and IEquatable<T> should be used. The MSDN documentation for both looks very similar.


Solution

  • IEqualityComparer<T> is an interface for an object that performs the comparison on two objects of the type T.

    IEquatable<T> is for an object of type T so that it can compare itself to another of the same type.