Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método ValueType.GetHashCode ()

 

Publicado: octubre de 2016

Devuelve el código hash de esta instancia.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

Public Overrides Function GetHashCode As Integer

Valor devuelto

Type: System.Int32

Entero de 32 bits con signo, que es el código hash de esta instancia.

El GetHashCode método se aplica a los tipos derivados de ValueType. Uno o varios campos del tipo derivado se usa para calcular el valor devuelto. Si se llama al método del tipo derivado GetHashCodemétodo, el valor devuelto no es probable que sea adecuado para su uso como una clave en una tabla hash. Además, si cambia el valor de uno o varios de esos campos, el valor devuelto puede volverse no es adecuado para su uso como una clave en una tabla hash. En cualquier caso, considere la posibilidad de escribir su propia implementación de la GetHashCode método que representa el concepto de un código hash para el tipo de forma más estrecha.

Para obtener más información, vea Object.GetHashCode y System.Collections.Hashtable.

Cuando se llama a la GetHashCode método en un Windows en tiempo de ejecución estructura, proporciona el comportamiento predeterminado para los tipos de valor que no se invalidan GetHashCode. Esto forma parte de la compatibilidad que .NET Framework proporciona para Windows en tiempo de ejecución (vea Compatibilidad de .NET Framework con las aplicaciones de la Tienda Windows y Windows Runtime).Windows en tiempo de ejecuciónno pueden reemplazar a las estructuras GetHashCode, incluso si está escritos con C# o Visual Basic, ya que no pueden tener métodos. (Además, las estructuras de la Windows en tiempo de ejecución no heredar ValueType.) Sin embargo, parece que tienen ToString, Equals, y GetHashCode métodos cuando se usa en el código de C# o Visual Basic y .NET Framework proporciona el comportamiento predeterminado para estos métodos.

En el ejemplo siguiente se muestra cómo el GetHashCode método puede reemplazarse por un tipo de valor derivado.

Public Structure Complex
   Private m_Re As Double
   Private m_Im As Double

   Public Overloads Function Equals(ob As Object) As Boolean
      If TypeOf ob Is Complex Then
         Dim c As Complex = CType(ob, Complex)
         Return m_Re = c.m_Re And m_Im = c.m_Im
      Else
         Return False
      End If
   End Function


   Public Overloads Function GetHashCode() As Integer
      Return m_Re.GetHashCode() ^ m_Im.GetHashCode()
   End Function

End Structure

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: