GetHashCode kebanyakannya wujud untuk satu tujuan: untuk berfungsi sebagai fungsi cincang apabila objek digunakan sebagai kunci dalam jadual cincang. … Jadual cincang ialah struktur data yang mengaitkan nilai dengan kunci.
Apakah tujuan GetHashCode?
Kaedah GetHashCode menyediakan kod cincang ini untuk algoritma yang memerlukan semakan pantas kesamaan objek Untuk mendapatkan maklumat tentang cara kod cincang digunakan dalam jadual cincang dan untuk beberapa algoritma kod cincang tambahan, lihat entri Fungsi Hash dalam Wikipedia. Dua objek yang sama kod cincang pulangan yang sama.
Adakah saya perlu melaksanakan GetHashCode?
Adalah penting untuk melaksanakan kedua-dua equals dan gethashcode, disebabkan oleh perlanggaran, khususnya semasa menggunakan kamus. jika dua objek mengembalikan kod cincang yang sama, ia akan disisipkan dalam kamus dengan rantaian. Semasa mengakses item sama dengan kaedah digunakan.
Bilakah kita harus mengatasi GetHashCode?
Jika anda melaksanakan jenis rujukan, anda harus mempertimbangkan untuk menggantikan kaedah Equals jika jenis anda kelihatan seperti jenis asas, seperti Point, String, BigNumber dan sebagainya. Gantikan kaedah GetHashCode untuk membenarkan sesuatu jenis berfungsi dengan betul dalam jadual cincang Baca panduan lanjut tentang pengendali kesaksamaan.
Apakah cincang dalam kod?
Hashing ialah hanya menghantar beberapa data melalui formula yang menghasilkan hasil, dipanggil cincang. Cincang itu biasanya rentetan aksara dan cincang yang dijana oleh formula sentiasa sama panjang, tidak kira berapa banyak data yang anda suapkan ke dalamnya. Contohnya, formula MD5 sentiasa menghasilkan cincangan sepanjang 32 aksara.