Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Metodo ValueType.GetHashCode

Restituisce il codice hash per l'istanza corrente.

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)
public override int GetHashCode()

Valore restituito

Tipo: System.Int32
Intero con segno a 32 bit che rappresenta il codice hash per questa istanza.

Il metodo GetHashCode viene applicato a tipi derivati da ValueType. Per calcolare il valore restituito vengono utilizzati uno o più campi del tipo derivato. Se si chiama il metodo GetHashCode del tipo derivato, è possibile che il valore restituito non sia adatto a essere utilizzato come chiave in una tabella hash. Il valore restituito può diventare inadatto a essere utilizzato come chiave in una tabella hash anche se il valore di uno o più campi viene modificato. In ogni caso è consigliabile scrivere un'implementazione personalizzata del metodo GetHashCode che rappresenti il più precisamente possibile il concetto di un codice hash per il tipo in questione.

Per ulteriori informazioni, vedere Object.GetHashCode e System.Collections.Hashtable.

Nell'esempio riportato di seguito viene illustrato il modo in cui il metodo GetHashCode può essere sottoposto a override da un tipo di valore derivato.


	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

Supportato in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
© 2013 Microsoft. Tutti i diritti riservati.