C#-এ Tuple<T1, T2, T3, T4, T5, T6, T7> ক্লাসের Item7 প্রোপার্টি ব্যবহার করে ৭-টাপল (septuple) এর ৭ম উপাদান পাওয়া যায়। Tuple.Create ফ্যাক্টরি মেথড দিয়ে সহজে টাপল তৈরি করা যায়। টাপল ইমিউটেবল (immutable) - একবার তৈরি হলে মান পরিবর্তন করা যায় না।
উদাহরণ ১: দুটি ৭-টাপল তৈরি এবং উপাদান অ্যাক্সেস
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());
Console.WriteLine("Tuple1 Item ১ = " + tuple1.Item1);
Console.WriteLine("Tuple2 Item ১ = " + tuple2.Item1);
Console.WriteLine("Tuple1 Item ২ = " + tuple1.Item2);
Console.WriteLine("Tuple2 Item ২ = " + tuple2.Item2);
Console.WriteLine("Tuple1 Item ৪ = " + tuple1.Item4);
Console.WriteLine("Tuple2 Item ৪ = " + tuple2.Item4);
Console.WriteLine("Tuple1 Item ৫ = " + tuple1.Item5);
Console.WriteLine("Tuple2 Item ৫ = " + tuple2.Item5);
Console.WriteLine("Tuple1 Item ৬ = " + tuple1.Item6);
Console.WriteLine("Tuple2 Item ৬ = " + tuple2.Item6);
Console.WriteLine("Tuple1 Item ৭ = " + tuple1.Item7);
Console.WriteLine("Tuple2 Item ৭ = " + tuple2.Item7);
}
}
আউটপুট
Tuple1 কি Tuple2-এর সমান? = True Tuple1-র HashCode = 3231587 Tuple2-র HashCode = 3231587 Tuple1 Item ১ = 75 Tuple2 Item ১ = 75 Tuple1 Item ২ = 200 Tuple2 Item ২ = 200 Tuple1 Item ৪ = 700 Tuple2 Item ৪ = 700 Tuple1 Item ৫ = 100 Tuple2 Item ৫ = 100 Tuple1 Item ৬ = 1200 Tuple2 Item ৬ = 1200 Tuple1 Item ৭ = 1500 Tuple2 Item ৭ = 1500
উদাহরণ ২: ৮-টাপল (Tuple<T1..T8>) - ৭ম উপাদান পাওয়া
using System;
public class Demo {
public static void Main(String[] args) {
// ৮-টাপল: শেষ টাইপ হলো TRest (নেস্টেড টাপল)
var tuple = Tuple.Create(1200, 1500, 2200, 2700, 3100, 3500, 4500, 5500);
Console.WriteLine("Tuple-র HashCode = " + tuple.GetHashCode());
Console.WriteLine("Tuple Item ১ = " + tuple.Item1);
Console.WriteLine("Tuple Item ২ = " + tuple.Item2);
Console.WriteLine("Tuple Item ৩ = " + tuple.Item3);
Console.WriteLine("Tuple Item ৪ = " + tuple.Item4);
Console.WriteLine("Tuple Item ৫ = " + tuple.Item5);
Console.WriteLine("Tuple Item ৬ = " + tuple.Item6);
Console.WriteLine("Tuple Item ৭ = " + tuple.Item7);
// Item8 = tuple.Rest.Item1 (নেস্টেড টাপলের ১ম উপাদান)
}
}
আউটপুট
Tuple-র HashCode = 49989024 Tuple Item ১ = 1200 Tuple Item ২ = 1500 Tuple Item ৩ = 2200 Tuple Item ৪ = 2700 Tuple Item ৫ = 3100 Tuple Item ৬ = 3500 Tuple Item ৭ = 4500
ব্যাখ্যা: C#-এ Tuple<T1..T7> ৭টি উপাদান পর্যন্ত সাপোর্ট করে। ৮ বা তার বেশি উপাদানের জন্য শেষ টাইপ প্যারামিটার TRest হতে হবে যা একটি নেস্টেড Tuple। Item1 থেকে Item7 প্রোপার্টি দিয়ে সরাসরি অ্যাক্সেস করা যায়। টাপল ভ্যালু টাইপ (স্ট্রাকচার নয়, ক্লাস) এবং ইমিউটেবল। C# 7.0+ এ ভ্যালু টাপল (ValueTuple) দেওয়া হয়েছে যা আরও সুবিধাজনক (নেমড ফিল্ড, ডিকনস্ট্রাকচারিং)।