Logo th.boatexistence.com

เหตุใดจึงใช้ gethashcode ใน c

สารบัญ:

เหตุใดจึงใช้ gethashcode ใน c
เหตุใดจึงใช้ gethashcode ใน c
Anonim

GetHashCode ส่วนใหญ่มีอยู่เพื่อจุดประสงค์เดียว: เพื่อทำหน้าที่เป็นฟังก์ชันแฮช เมื่อวัตถุถูกใช้เป็นคีย์ในตารางแฮช … ตารางแฮชคือโครงสร้างข้อมูลที่เชื่อมโยงค่ากับคีย์

จุดประสงค์ของ GetHashCode คืออะไร

วิธี GetHashCode ให้ รหัสแฮชนี้ สำหรับอัลกอริธึมที่ต้องการการตรวจสอบความเท่าเทียมกันของวัตถุอย่างรวดเร็ว สำหรับข้อมูลเกี่ยวกับวิธีใช้รหัสแฮชในตารางแฮชและสำหรับอัลกอริธึมโค้ดแฮชเพิ่มเติม ดูรายการฟังก์ชันแฮชในวิกิพีเดีย สองวัตถุที่เท่ากันส่งคืนรหัสแฮชที่เท่ากัน

ฉันจำเป็นต้องใช้ GetHashCode หรือไม่

การ ใช้ทั้ง equals และ gethashcode เนื่องจากการชนกัน โดยเฉพาะเมื่อใช้พจนานุกรม หากวัตถุสองรายการส่งคืน hashcode เดียวกัน พวกเขาจะถูกแทรกลงในพจนานุกรมด้วยการโยง ขณะเข้าถึงรายการเท่ากับใช้วิธี

เราควรแทนที่ GetHashCode เมื่อใด

หากคุณกำลังใช้ประเภทการอ้างอิง คุณควรพิจารณาลบล้างเมธอด Equals หากประเภทของคุณดูเหมือนประเภทพื้นฐาน เช่น Point, String, BigNumber และอื่นๆ แทนที่เมธอด GetHashCode เพื่ออนุญาตให้ a ประเภททำงานอย่างถูกต้องในตารางแฮช อ่านคำแนะนำเพิ่มเติมเกี่ยวกับตัวดำเนินการความเท่าเทียม

แฮชในโค้ดคืออะไร

การแฮชคือ เพียงส่งข้อมูลผ่านสูตรที่ให้ผลลัพธ์ เรียกว่าแฮช แฮชนั้นมักจะเป็นสตริงของอักขระ และแฮชที่สร้างโดยสูตรจะมีความยาวเท่ากันเสมอ ไม่ว่าคุณจะป้อนข้อมูลเข้าไปมากแค่ไหน ตัวอย่างเช่น สูตร MD5 จะสร้างแฮชแบบยาว 32 อักขระเสมอ

แนะนำ: