C#-এ Int64 (alias long) স্ট্রাকচারের GetHashCode() মেথড ব্যবহার করে ইনস্ট্যান্সের হ্যাশ কোড পাওয়া যায়। হ্যাশ কোড একটি ইন্টিজার যা অবজেক্টকে হ্যাশ টেবিলে দ্রুত লুকআপের জন্য ব্যবহার করা হয়। একই মান এর হ্যাশ কোড একই হয় (যদি কollision না হয়)।
উদাহরণ ১: দুটি ভিন্ন long মান হ্যাশ কোড
using System;
public class Demo {
public static void Main() {
long val1 = 8768768768;
long val2 = 7889765555;
Console.WriteLine("Value1 = " + val1);
Console.WriteLine("Value2 = " + val2);
Console.WriteLine("কি সমান? = " + val1.Equals(val2));
Console.WriteLine("Value1 (HashCode) = " + val1.GetHashCode());
Console.WriteLine("Value2 (HashCode) = " + val2.GetHashCode());
}
}
আউটপুট
Value1 = 8768768768 Value2 = 7889765555 কি সমান? = False Value1 (HashCode) = 178834178 Value2 (HashCode) = -700169038
উদাহরণ ২: ০ এবং Int64.MaxValue হ্যাশ কোড
using System;
public class Demo {
public static void Main() {
long val1 = 0;
long val2 = Int64.MaxValue; // 9223372036854775807
Console.WriteLine("Value1 = " + val1);
Console.WriteLine("Value2 = " + val2);
Console.WriteLine("কি সমান? = " + val1.Equals(val2));
Console.WriteLine("Value1 (HashCode) = " + val1.GetHashCode());
Console.WriteLine("Value2 (HashCode) = " + val2.GetHashCode());
}
}
আউটপুট
Value1 = 0 Value2 = 9223372036854775807 কি সমান? = False Value1 (HashCode) = 0 Value2 (HashCode) = -2147483648
ব্যাখ্যা: Int64.GetHashCode() মানটির নিচের ৩২ বিট বা কম্বিনেশন থেকে হ্যাশ কোড জেনারেট করে। ০-এর হ্যাশ কোড ০। Int64.MaxValue (2^63-1) এর হ্যাশ কোড -2147483648 (Int32.MinValue)। হ্যাশ কোড ইকুয়ালিটি চেকের জন্য নয় (কollision হতে পারে); এটি হ্যাশ-বেসড কালেকশনে বালান্সড ডিস্ট্রিবিউশনের জন্য ব্যবহৃত হয়। Equals মেথড মান তুলনা করে।