IEqualityComparer.GetHashCode(Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve um código de 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
Devoluções
Um código de hash para o objeto especificado.
Exceções
O tipo de obj é um tipo de referência e obj é null.
Exemplos
O seguinte exemplo de código demonstra a implementação de um IEqualityComparer. Neste exemplo, o GetHashCode método devolve o código de 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
Observações
Implemente este método para fornecer códigos de hash personalizados para objetos, correspondentes à comparação de igualdade personalizada fornecida pelo Equals método.
Notas para Implementadores
As implementações são obrigatórias a garantir que, se o método devolve true para dois objetos x e y, então o valor devolvido pelo GetHashCode(Object) método para x deve ser igual ao valor devolvido para y.Equals(Object, Object)