Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ValueType.GetHashCode, méthode

Retourne le code de hachage pour cette instance.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
public override int GetHashCode()

Valeur de retour

Type : System.Int32
Entier signé 32 bits qui est le code de hachage pour cette instance.

La méthode GetHashCode s'applique aux types dérivés de ValueType. Un ou plusieurs champs du type dérivé sont utilisés pour calculer la valeur de retour. Si vous appelez la méthode GetHashCode du type dérivé, il est peu probable que la valeur de retour puisse être utilisée comme clé dans une table de hachage. En outre, si la valeur d'un ou plusieurs champs change, il sera peut-être impossible d'utiliser la valeur de retour comme clé dans une table de hachage. Dans les deux cas, envisagez d'écrire votre propre implémentation de la méthode GetHashCode, capable de mieux représenter le concept d'un code de hachage pour le type.

Pour plus d'informations, consultez Object.GetHashCode et System.Collections.Hashtable.

L'exemple suivant illustre comment la méthode GetHashCode peut être substituée par un type valeur dérivé.


	public struct Complex 
	{
		public double m_Re;
		public double m_Im;

		public override bool Equals( object ob ){
			if( ob is Complex ) {
				Complex c = (Complex) ob;
				return m_Re==c.m_Re && m_Im==c.m_Im;
			}
			else {
				return false;
			}
		}

		public override int GetHashCode(){
			return m_Re.GetHashCode() ^ m_Im.GetHashCode();
		}
	}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ