IEqualityComparer<T> Interface
Defines methods to support the comparison of objects for equality.
Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)
Type Parameters
- in T
The type of objects to compare.
This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see 2678dc63-c7f9-4590-9ddc-0a4df684d42e.
The IEqualityComparer<T> type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | Equals | Determines whether the specified objects are equal. |
![]() ![]() ![]() | GetHashCode | Returns a hash code for the specified object. |
This interface allows the implementation of customized equality comparison for collections. That is, you can create your own definition of equality for type T, and specify that this definition be used with a collection type that accepts the IEqualityComparer<T> generic interface. In the .NET Framework, constructors of the Dictionary<TKey, TValue> generic collection type accept this interface.
A default implementation of this interface is provided by the Default property of the EqualityComparer<T> generic class. The StringComparer class implements IEqualityComparer<T> of type String.
This interface supports only equality comparisons. Customization of comparisons for sorting and ordering is provided by the IComparer<T> generic interface.
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

