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