Dlaczego gethashcode jest używany w c?

Spisu treści:

Dlaczego gethashcode jest używany w c?
Dlaczego gethashcode jest używany w c?

Wideo: Dlaczego gethashcode jest używany w c?

Wideo: Dlaczego gethashcode jest używany w c?
Wideo: C# Programming Tutorial 83 - Override GetHashCode 2024, Listopad
Anonim

GetHashCode istnieje głównie w jednym celu: służy jako funkcja haszująca, gdy obiekt jest używany jako klucz w tablicy haszującej. … Tablica mieszająca to struktura danych, która wiąże wartość z kluczem.

Jaki jest cel GetHashCode?

Metoda GetHashCode udostępnia ten kod mieszający dla algorytmów, które wymagają szybkiego sprawdzenia równości obiektów Aby uzyskać informacje o tym, jak kody mieszające są używane w tabelach mieszających oraz o niektórych dodatkowych algorytmach kodu mieszającego, zobacz wpis Funkcja skrótu w Wikipedii. Dwa obiekty, które są równe, zwracają takie same kody skrótu.

Czy muszę wdrożyć GetHashCode?

Ważne jest, aby zaimplementować zarówno równania, jak i gethashcode, ze względu na kolizje, w szczególności podczas korzystania ze słowników. jeśli dwa obiekty zwracają ten sam hashcode, są wstawiane do słownika z łańcuchem. Podczas uzyskiwania dostępu do pozycji używana jest metoda równa.

Kiedy powinniśmy nadpisać GetHashCode?

Jeśli implementujesz typ referencyjny, powinieneś rozważyć nadpisanie metody Equals, jeśli twój typ wygląda jak typ podstawowy, taki jak Point, String, BigNumber i tak dalej. Zastąp metodę GetHashCode, aby typ a działał poprawnie w tabeli mieszania Przeczytaj więcej wskazówek na temat operatorów równości.

Co to jest skrót w kodzie?

Hashowanie to po prostu przekazywanie niektórych danych przez formułę, która daje wynik, zwany haszem. Ten skrót jest zwykle ciągiem znaków, a skróty generowane przez formułę mają zawsze tę samą długość, niezależnie od tego, ile danych do niego wprowadzisz. Na przykład formuła MD5 zawsze generuje skróty o długości 32 znaków.

Zalecana: