কম্পিউটার টিউটোরিয়াল

C#-এ Tuple-এর অবশিষ্ট এলিমেন্ট পাওয়ার পদ্ধতি: Rest প্রপার্টি

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)) ব্যবহার করা বেশি সুবিধাজনক কারণ সেটি নামযুক্ত প্রপার্টি এবং ডিকনস্ট্রাকচারিং সাপোর্ট করে।

  1. C#-তে Tuple-এর তৃতীয় উপাদান পেতে Item3 প্রোপার্টি ব্যবহার

  2. C#-তে Tuple-এর ষষ্ঠ উপাদান পেতে Item6 প্রোপার্টি ব্যবহার

  3. Tkinter Listbox-এ আইটেমের ইনডেক্স কীভাবে পাবেন?

  4. পাইথনে নেস্টেড টাপল থেকে অনন্য এলিমেন্টগুলো বের করার উপায়