บทนำ
เมธอด Char.GetHashCode() ใน C# ใช้คืนค่ารหัสแฮช (hash code) สำหรับอินสแตนซ์ Char ปัจจุบัน รหัสแฮชเป็นจำนวนเต็ม 32 บิตที่มีเครื่องหมาย (int)
ไวยากรณ์ (Syntax)
public override int GetHashCode ();
ตัวอย่างที่ 1: รหัสแฮชของตัวอักษร 'H'
using System;
public class Demo
{
public static void Main()
{
char val = 'H';
bool res;
Console.WriteLine("Hashcode for val = " + val.GetHashCode());
res = val.Equals('d');
Console.WriteLine("Return Value = " + res);
}
}
ผลลัพธ์
Hashcode for val = 4718664 Return Value = False
ตัวอย่างที่ 2: รหัสแฮชของตัวอักษร 'm'
using System;
public class Demo
{
public static void Main()
{
char val = 'm';
bool res;
Console.WriteLine("Hashcode for val = " + val.GetHashCode());
res = val.Equals('m');
Console.WriteLine("Return Value = " + res);
}
}
ผลลัพธ์
Hashcode for val = 7143533 Return Value = True
สรุป
รหัสแฮชของ Char คำนวณจากค่า Unicode code point ของตัวอักษรนั้นๆ ตัวอักษรเดียวกันจะมีรหัสแฮชเท่ากันเสมอ ทำให้ Char ใช้งานได้อย่างมีประสิทธิภาพในโครงสร้างข้อมูลแบบแฮช เช่น Dictionary<char, T> หรือ HashSet<char>