Logo sk.boatexistence.com

Prečo sa gethashcode používa v c?

Obsah:

Prečo sa gethashcode používa v c?
Prečo sa gethashcode používa v c?

Video: Prečo sa gethashcode používa v c?

Video: Prečo sa gethashcode používa v c?
Video: 4 reasons to learn a new language | John McWhorter 2024, Smieť
Anonim

GetHashCode väčšinou existuje na jeden účel: slúži ako hašovacia funkcia, keď sa objekt používa ako kľúč v hašovacej tabuľke. … Hašovacia tabuľka je dátová štruktúra, ktorá priraďuje hodnotu ku kľúču.

Aký je účel GetHashCode?

Metóda GetHashCode poskytuje tento hash kód pre algoritmy, ktoré potrebujú rýchlu kontrolu rovnosti objektov Informácie o tom, ako sa hash kódy používajú v hašovacích tabuľkách a pre niektoré ďalšie algoritmy hašovacích kódov, pozrite si položku Hash Function na Wikipédii. Dva objekty, ktoré sú rovnaké, vrátia rovnaké hash kódy.

Musím implementovať GetHashCode?

Je dôležité implementovať kód rovná sa aj kód gethash z dôvodu kolízií, najmä pri používaní slovníkov. ak dva objekty vrátia rovnaký hashcode, vložia sa do slovníka s reťazením. Pri prístupe k položke sa používa metóda rovná sa.

Kedy by sme mali prepísať GetHashCode?

Ak implementujete referenčný typ, mali by ste zvážiť prepísanie metódy Equals, ak váš typ vyzerá ako základný typ, ako napríklad Point, String, BigNumber atď. Prepíšte metódu GetHashCode, aby ste umožnili správnemu fungovaniu typu v hašovacej tabuľke Prečítajte si ďalšie pokyny k operátorom rovnosti.

Čo je to hash v kóde?

Hashing je jednoduché odovzdanie niektorých údajov cez vzorec, ktorý vytvorí výsledok, nazývaný hash. Tento hash je zvyčajne reťazec znakov a hodnoty hash generované vzorcom majú vždy rovnakú dĺžku, bez ohľadu na to, koľko údajov do neho vložíte. Napríklad vzorec MD5 vždy vytvára 32 znakov dlhých hash.

Odporúča: