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