IEqualityComparer.GetHashCode(Object) Método

Definição

Retorna um código hash para o objeto especificado.

public:
 int GetHashCode(System::Object ^ obj);
public int GetHashCode(object obj);
abstract member GetHashCode : obj -> int
Public Function GetHashCode (obj As Object) As Integer

Parâmetros

obj
Object

O Object para o qual um código hash deve ser retornado.

Retornos

Um código hash para o objeto especificado.

Exceções

O tipo de é um tipo de obj referência e obj é null.

Exemplos

O exemplo de código a seguir demonstra a implementação de uma diferenciação de maiúsculas de minúsculas IEqualityComparer. Neste exemplo, o GetHashCode método retorna o código hash fornecido pelo Object tipo.

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

Comentários

Implemente esse método para fornecer códigos de hash personalizados para objetos, correspondentes à comparação de igualdade personalizada fornecida pelo Equals método.

Notas aos Implementadores

As implementações são necessárias para garantir que, se o Equals(Object, Object) método retornar true para dois objetos x ey, em seguida, o valor retornado pelo GetHashCode(Object) método deve x ser igual ao valor retornado.y

Aplica-se a

Confira também