Logo it.boatexistence.com

Perché gethashcode è usato in c?

Sommario:

Perché gethashcode è usato in c?
Perché gethashcode è usato in c?

Video: Perché gethashcode è usato in c?

Video: Perché gethashcode è usato in c?
Video: I Paid A Real Assassin To Try To Kill Me 2024, Maggio
Anonim

GetHashCode esiste principalmente per uno scopo: per fungere da funzione hash quando l'oggetto viene utilizzato come chiave in una tabella hash. … Una tabella hash è una struttura dati che associa un valore a una chiave.

Qual è lo scopo di GetHashCode?

Il metodo GetHashCode fornisce questo codice hash per algoritmi che necessitano di controlli rapidi dell'uguaglianza degli oggetti Per informazioni su come i codici hash vengono utilizzati nelle tabelle hash e per alcuni algoritmi di codice hash aggiuntivi, vedere la voce Funzione hash in Wikipedia. Due oggetti uguali restituiscono codici hash uguali.

Devo implementare GetHashCode?

È importante implementare sia equals che gethashcode, a causa di collisioni, in particolare durante l'utilizzo dei dizionari. se due oggetti restituiscono lo stesso hashcode, vengono inseriti nel dizionario con concatenamento. Durante l'accesso all'elemento viene utilizzato il metodo equals.

Quando dovremmo sovrascrivere GetHashCode?

Se stai implementando un tipo di riferimento, dovresti considerare di sovrascrivere il metodo Equals se il tuo tipo sembra un tipo base, come Point, String, BigNumber e così via. Sovrascrivi il metodo GetHashCode per consentire a un tipo di funzionare correttamente in una tabella hash Ulteriori informazioni sugli operatori di uguaglianza.

Cos'è un hash nel codice?

Hashing è semplicemente passare alcuni dati attraverso una formula che produce un risultato, chiamato hash. Quell'hash è di solito una stringa di caratteri e gli hash generati da una formula hanno sempre la stessa lunghezza, indipendentemente dalla quantità di dati che ci inserisci. Ad esempio, la formula MD5 produce sempre 32 hash lunghi caratteri.

Consigliato: