Metoda w obiekcie GetHashCode() służy do generowania prostego (Int32) skrótu danego obiektu. We własnych klasach powinniśmy ją nadpisać, szczególnie jeśli dane obiekty będą wykorzystywane w kolekcjach typu Dictionary i HashSet. Jednak powinniśmy zrobić to prawidłowo, przestrzegając 3 prostych zasad...
Strona głównaUżytkownik
tewux | użytkownik
Podążając za poprzednim wpisem, zamieszczam dwie przydatne metody do zamiany tablicy byte'ów (byte[]) na zapis szesnastkowy w stringu oraz metodę odwrotną. Metody są całkiem szybkie, na pewno wiele wydajniejsze od używania ToString("x2") czy Convert.ToByte(...). Moja metoda BytesToHex() jest wzorowana na metodzie BitConverter.ToString(), która to niestety przymusowo wstawia nam kreski między każdym bajtem w zapisie szesnastkowym. Natomiast...
Dziś krótka notka. Przedstawię tylko szybką metodę do porównywania dwóch tablic byte'ów. Wykorzystuje ona wskaźniki (czyli wymaga użycia trybu unsafe), gdzie po odpowiednich rzutowaniach, porównujemy 64bitowe longi. Daje nam to około 5-10 krotne przyśpieszenie, w porównaniu do zwykłego porównywania byte'ów w pętli for.