Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การรับรหัสแฮชของอินสแตนซ์ UInt64 ปัจจุบันใน C#

ภาพรวม

เมธอด GetHashCode() ของโครงสร้าง UInt64 (ulong) คืนค่ารหัสแฮช 32 บิตที่ใช้สำหรับอัลกอริทึมแฮชตารางและการเปรียบเทียบความเท่าเทียม

ตัวอย่าง 1: ค่าปกติและค่าต่ำสุด

using System;

public class Demo {
    public static void Main() {
        ulong val1 = 8768768;
        ulong val2 = UInt64.MinValue;
        Console.WriteLine("HashCode for val1 = " + val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = " + val2.GetHashCode());
    }
}

ผลลัพธ์ตัวอย่าง 1

HashCode for val1 = 8768768
HashCode for val2 = 0

ตัวอย่าง 2: ค่าอื่นและค่าสูงสุด

using System;

public class Demo {
    public static void Main() {
        ulong val1 = 89879878;
        ulong val2 = UInt64.MaxValue;
        Console.WriteLine("HashCode for val1 = " + val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = " + val2.GetHashCode());
    }
}

ผลลัพธ์ตัวอย่าง 2

HashCode for val1 = 89879878
HashCode for val2 = 0

สรุป

  • GetHashCode() คืนค่า int (32 บิต)
  • ค่า UInt64.MinValue (0) และ UInt64.MaxValue (18446744073709551615) ให้แฮชโค้ดเป็น 0
  • แฮชโค้ดไม่รับประกันความไม่ซ้ำกัน (อาจชนกันได้)