IEqualityComparer.GetHashCode(Object) Method    
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a hash code for the specified object.
public:
 int GetHashCode(System::Object ^ obj);public int GetHashCode(object obj);abstract member GetHashCode : obj -> intPublic Function GetHashCode (obj As Object) As IntegerParameters
Returns
A hash code for the specified object.
Exceptions
The type of obj is a reference type and obj is null.
Examples
The following code example demonstrates the implementation of a case-insensitive IEqualityComparer. In this example, the GetHashCode method returns the hash code provided by the Object type.
class myCultureComparer : IEqualityComparer
{
    public CaseInsensitiveComparer myComparer;
    public myCultureComparer()
    {
        myComparer = CaseInsensitiveComparer.DefaultInvariant;
    }
    public myCultureComparer(CultureInfo myCulture)
    {
        myComparer = new CaseInsensitiveComparer(myCulture);
    }
    public new bool Equals(object x, object y)
    {
        return myComparer.Compare(x, y) == 0;
    }
    public int GetHashCode(object obj)
    {
        return obj.ToString().ToLower().GetHashCode();
    }
}
Public Class myCultureComparer
    Implements IEqualityComparer
    Dim myComparer As CaseInsensitiveComparer
    Public Sub New()
        myComparer = CaseInsensitiveComparer.DefaultInvariant
    End Sub
    Public Sub New(ByVal myCulture As CultureInfo)
        myComparer = New CaseInsensitiveComparer(myCulture)
    End Sub
    Public Function Equals1(ByVal x As Object, ByVal y As Object) _
        As Boolean Implements IEqualityComparer.Equals
        Return myComparer.Compare(x, y) = 0
    End Function
    Public Function GetHashCode1(ByVal obj As Object) _
        As Integer Implements IEqualityComparer.GetHashCode
        Return obj.ToString().ToLower().GetHashCode()
    End Function
End Class
Remarks
Implement this method to provide customized hash codes for objects, corresponding to the customized equality comparison provided by the Equals method.
Notes to Implementers
Implementations are required to ensure that if the Equals(Object, Object) method returns true for two objects x and y, then the value returned by the GetHashCode(Object) method for x must equal the value returned for y.