GetHashCode eksisterer stort sett for ett formål: å tjene som en hash-funksjon når objektet brukes som en nøkkel i en hash-tabell. … En hashtabell er en datastruktur som assosierer en verdi med en nøkkel.
Hva er hensikten med GetHashCode?
GetHashCode-metoden gir denne hashkoden for algoritmer som trenger raske kontroller av objektlikhet For informasjon om hvordan hashkoder brukes i hashtabeller og for noen ekstra hashkodealgoritmer, se Hash Function-oppføringen i Wikipedia. To objekter som er like gir hash-koder som er like.
Må jeg implementere GetHashCode?
Det er viktig å implementere både likes og gethashcode, på grunn av kollisjoner, spesielt ved bruk av ordbøker. hvis to objekter returnerer samme hashkode, settes de inn i ordboken med kjeding. Når du får tilgang til elementet, brukes metoden.
Når bør vi overstyre GetHashCode?
Hvis du implementerer en referansetype, bør du vurdere å overstyre Equals-metoden hvis typen ser ut som en basistype, for eksempel Point, String, BigNumber, og så videre. Overstyr GetHashCode-metoden for å la en type fungere riktig i en hashtabell Les mer veiledning om likhetsoperatører.
Hva er en hash i kode?
Hashing er bare å sende noen data gjennom en formel som gir et resultat, k alt en hash. Denne hashen er vanligvis en streng med tegn, og hashen som genereres av en formel har alltid samme lengde, uavhengig av hvor mye data du mater inn i den. For eksempel produserer MD5-formelen alltid 32 tegnlange hasher.