C#-এ ৮-এলিমেন্ট বা তার বেশি Tuple-এ (নেস্টেড Tuple ব্যবহার করে) প্রথম ৭টি এলিমেন্ট Item1 থেকে Item7 প্রপার্টি দিয়ে অ্যাক্সেস করা যায়, বাকি এলিমেন্টগুলো Rest প্রপার্টি দিয়ে অ্যাক্সেস করা হয়। Rest একটি নেস্টেড Tuple রিটার্ন করে।
উদাহরণ ১: ৮-এলিমেন্ট Tuple-এর Rest
using System;
public class Demo {
public static void Main(String[] args) {
var tuple1 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500, 2000);
var tuple2 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500, 2000);
Console.WriteLine("Tuple1 কি Tuple2-এর সমান? = " + tuple1.Equals(tuple2));
Console.WriteLine("Tuple1-এর HashCode = " + tuple1.GetHashCode());
Console.WriteLine("Tuple2-এর HashCode = " + tuple2.GetHashCode());
Console.WriteLine("Tuple1 Item 1st = " + tuple1.Item1);
Console.WriteLine("Tuple2 Item 1st = " + tuple2.Item1);
Console.WriteLine("Tuple1 Item 2nd = " + tuple1.Item2);
Console.WriteLine("Tuple2 Item 2nd = " + tuple2.Item2);
Console.WriteLine("Tuple1 Item 4th = " + tuple1.Item4);
Console.WriteLine("Tuple2 Item 4th = " + tuple2.Item4);
Console.WriteLine("Tuple1 Item 5th = " + tuple1.Item5);
Console.WriteLine("Tuple2 Item 5th = " + tuple2.Item5);
Console.WriteLine("Tuple1 Item 6th = " + tuple1.Item6);
Console.WriteLine("Tuple2 Item 6th = " + tuple2.Item6);
Console.WriteLine("Tuple1 Item 7th = " + tuple1.Item7);
Console.WriteLine("Tuple2 Item 7th = " + tuple2.Item7);
Console.WriteLine("Tuple1 Rest ভ্যালু = " + tuple1.Rest);
Console.WriteLine("Tuple2 Rest ভ্যালু = " + tuple2.Rest);
}
}
আউটপুট
Tuple1 কি Tuple2-এর সমান? = True Tuple1-এর HashCode = 3247155 Tuple2-এর HashCode = 3247155 Tuple1 Item 1st = 75 Tuple2 Item 1st = 75 Tuple1 Item 2nd = 200 Tuple2 Item 2nd = 200 Tuple1 Item 4th = 700 Tuple2 Item 4th = 700 Tuple1 Item 5th = 100 Tuple2 Item 5th = 100 Tuple1 Item 6th = 1200 Tuple2 Item 6th = 1200 Tuple1 Item 7th = 1500 Tuple2 Item 7th = 1500 Tuple1 Rest ভ্যালু = (2000) Tuple2 Rest ভ্যালু = (2000)
উদাহরণ ২: নেস্টেড Tuple-র Rest
using System;
public class Demo {
public static void Main(String[] args) {
var tuple1 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500, Tuple.Create("AB", 2000, "CD"));
var tuple2 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500, Tuple.Create(2500, 3500, 4000, "XY"));
Console.WriteLine("Tuple1 কি Tuple2-এর সমান? = " + tuple1.Equals(tuple2));
Console.WriteLine("Tuple1-এর HashCode = " + tuple1.GetHashCode());
Console.WriteLine("Tuple2-এর HashCode = " + tuple2.GetHashCode());
Console.WriteLine("Tuple1 Item 1st = " + tuple1.Item1);
Console.WriteLine("Tuple2 Item 1st = " + tuple2.Item1);
Console.WriteLine("Tuple1 Item 2nd = " + tuple1.Item2);
Console.WriteLine("Tuple2 Item 2nd = " + tuple2.Item2);
Console.WriteLine("Tuple1 Item 4th = " + tuple1.Item4);
Console.WriteLine("Tuple2 Item 4th = " + tuple2.Item4);
Console.WriteLine("Tuple1 Item 5th = " + tuple1.Item5);
Console.WriteLine("Tuple2 Item 5th = " + tuple2.Item5);
Console.WriteLine("Tuple1 Item 6th = " + tuple1.Item6);
Console.WriteLine("Tuple2 Item 6th = " + tuple2.Item6);
Console.WriteLine("Tuple1 Item 7th = " + tuple1.Item7);
Console.WriteLine("Tuple2 Item 7th = " + tuple2.Item7);
Console.WriteLine("Tuple1 Rest ভ্যালু = " + tuple1.Rest);
Console.WriteLine("Tuple2 Rest ভ্যালু = " + tuple2.Rest);
}
}
আউটপুট
Tuple1 কি Tuple2-এর সমান? = False Tuple1-এর HashCode = -1121878415 Tuple2-এর HashCode = -835095725 Tuple1 Item 1st = 75 Tuple2 Item 1st = 75 Tuple1 Item 2nd = 200 Tuple2 Item 2nd = 200 Tuple1 Item 4th = 700 Tuple2 Item 4th = 700 Tuple1 Item 5th = 100 Tuple2 Item 5th = 100 Tuple1 Item 6th = 1200 Tuple2 Item 6th = 1200 Tuple1 Item 7th = 1500 Tuple2 Item 7th = 1500 Tuple1 Rest ভ্যালু = ((AB, 2000, CD)) Tuple2 Rest ভ্যালু = ((2500, 3500, 4000, XY))
ব্যাখ্যা: Tuple ক্লাস সর্বোচ্চ ৮টি এলিমেন্ট সাপোর্ট করে। ৮ম এলিমেন্ট অবশ্যই একটি Tuple হতে হয় (TRest)। Rest প্রপার্টি সেই নেস্টেড Tuple রিটার্ন করে। C# 7.0+ তে ValueTuple (যেমন (int, int, string)) ব্যবহার করা বেশি সুবিধাজনক কারণ সেটি নামযুক্ত প্রপার্টি এবং ডিকনস্ট্রাকচারিং সাপোর্ট করে।