C#-এ Tuple.GetHashCode() মেথড Tuple-এ সমाहিত সব এলিমেন্টের হ্যাশ কোড কম্বাইন করে একটি একক হ্যাশ কোড রিটার্ন করে। সমান কন্টেন্টের Tuple-এর হ্যাশ কোড সমান হয়।
উদাহরণ ১: ভিন্ন নেস্টেড Tuple-এর HashCode
using System;
public class Demo {
public static void Main(String[] args) {
var tuple1 = Tuple.Create(150, 400, 500, 700, 100, 1200, 1500, Tuple.Create(50, 100));
var tuple2 = Tuple.Create(150, 400, 500, 700, 100, 1200, 1500, Tuple.Create(100, 200));
Console.WriteLine("Tuple1 কি Tuple2-এর সমান? = " + tuple1.Equals(tuple2));
Console.WriteLine("Tuple1-এর HashCode = " + tuple1.GetHashCode());
Console.WriteLine("Tuple2-এর HashCode = " + tuple2.GetHashCode());
}
}
আউটপুট
Tuple1 কি Tuple2-এর সমান? = False Tuple1-এর HashCode = 4621968 Tuple2-এর HashCode = 4623530
উদাহরণ ২: সমান Tuple-এর HashCode
using System;
public class Demo {
public static void Main(String[] args) {
var tuple1 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);
var tuple2 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);
Console.WriteLine("Tuple1 কি Tuple2-এর সমান? = " + tuple1.Equals(tuple2));
Console.WriteLine("Tuple1-এর HashCode = " + tuple1.GetHashCode());
Console.WriteLine("Tuple2-এর HashCode = " + tuple2.GetHashCode());
}
}
আউটপুট
Tuple1 কি Tuple2-এর সমান? = True Tuple1-এর HashCode = 3231587 Tuple2-এর HashCode = 3231587
ব্যাখ্যা: GetHashCode হ্যাশ-ভিত্তিক কালেকশন (Dictionary, HashSet) এ Tuple ব্যবহার করার জন্য অপরিহার্য। Tuple ইমিউটেবল, তাই হ্যাশ কোড ক্যাশ করা যায়। সমান Tuple-র সমান হ্যাশ কোড হয় (কollision বাদে)। নেস্টেড Tuple-ও হ্যাশ কোড গণনায় অন্তর্ভুক্ত থাকে।