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

การดึง HashCode ของอินสแตนซ์ UInt32 ใน C#

ภาพรวม

โครงสร้าง UInt32 (unsigned 32-bit integer) มีเมธอด GetHashCode() คืนค่าแฮชโค้ดของค่าตัวเลขนั้น (โดยปกติคือค่าเอง)

ตัวอย่างที่ 1: ค่า 100 และ UInt16.MinValue

using System;

public class Demo
{
    public static void Main()
    {
        uint val1 = 100;
        uint val2 = UInt16.MinValue; // 0

        Console.WriteLine("HashCode for val1 = " + val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = " + val2.GetHashCode());
    }
}

ผลลัพธ์

HashCode for val1 = 100
HashCode for val2 = 0

ตัวอย่างที่ 2: ค่า 50 และ UInt16.MaxValue

using System;

public class Demo
{
    public static void Main()
    {
        uint val1 = 50;
        uint val2 = UInt16.MaxValue; // 65535

        Console.WriteLine("HashCode for val1 = " + val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = " + val2.GetHashCode());
    }
}

ผลลัพธ์

HashCode for val1 = 50
HashCode for val2 = 65535

สรุป

  • สำหรับค่าจำนวนเต็มพื้นฐาน GetHashCode() มักคืนค่าเท่ากับตัวเลขเอง
  • Hash code ใช้สำหรับการจัดเก็บในแฮชเทเบิล ไม่ควรนำมาใช้เป็น unique ID
  • UInt16.MinValue = 0, UInt16.MaxValue = 65535