IEqualityComparer.GetHashCode(Object) Método

Definición

Devuelve un código hash para el 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

Object para el que se va a devolver un código hash.

Devoluciones

Código hash para el objeto especificado.

Excepciones

El tipo de es un tipo de obj referencia y obj es null.

Ejemplos

En el ejemplo de código siguiente se muestra la implementación de un elemento que no distingue mayúsculas de minúsculas IEqualityComparer. En este ejemplo, el GetHashCode método devuelve el código hash proporcionado por el 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

Comentarios

Implemente este método para proporcionar códigos hash personalizados para los objetos, correspondientes a la comparación de igualdad personalizada proporcionada por el Equals método .

Notas a los implementadores

Las implementaciones son necesarias para asegurarse de que si el Equals(Object, Object) método devuelve true para dos objetos x y y, el valor devuelto por el GetHashCode(Object) método x para debe ser igual al valor devuelto para y.

Se aplica a

Consulte también