GetHashCode există în mare parte cu un singur scop: pentru a servi ca funcție hash atunci când obiectul este folosit ca cheie într-un tabel hash. … Un tabel hash este o structură de date care asociază o valoare cu o cheie.
Care este scopul GetHashCode?
Metoda GetHashCode oferă acest cod hash pentru algoritmii care necesită verificări rapide ale egalității obiectelor Pentru informații despre modul în care codurile hash sunt utilizate în tabelele hash și pentru unii algoritmi suplimentari de cod hash, vezi intrarea Funcție Hash din Wikipedia. Două obiecte care sunt egale returnează coduri hash care sunt egale.
Trebuie să implementez GetHashCode?
Este important să implementați ambele equals și gethashcode, din cauza coliziunilor, în special în timpul utilizării dicționarelor. dacă două obiecte returnează același cod hash, ele sunt inserate în dicționar cu înlănțuire. În timp ce accesarea articolului este folosită metoda equals.
Când ar trebui să suprascriem GetHashCode?
Dacă implementați un tip de referință, ar trebui să luați în considerare înlocuirea metodei Equals dacă tipul dvs. arată ca un tip de bază, cum ar fi Point, String, BigNumber și așa mai departe. Ignorați metoda GetHashCode pentru a permite a tipului să funcționeze corect într-un tabel hash Citiți mai multe îndrumări despre operatorii de egalitate.
Ce este un hash în cod?
Hashing este trimiterea unor date printr-o formulă care produce un rezultat, numit hash. Acel hash este de obicei un șir de caractere, iar hashurile generate de o formulă au întotdeauna aceeași lungime, indiferent de câte date introduci în el. De exemplu, formula MD5 produce întotdeauna 32 de caractere hash lungi.