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

C#-এ দুটি SortedList অবজেক্ট সমান কিনা চেক করা

C#-এ SortedList ক্লাসের Equals(object obj) মেথড ব্যবহার করে দুটি অবজেক্ট সমান কিনা চেক করা যায়। গুরুত্বপূর্ণ: SortedList এর জন্য Equals রেফারেন্স সমতা (reference equality) চেক করে, কন্টেন্ট সমতা (content equality) নয়। দুটি ভিন্ন ইনস্ট্যান্স একই কন্টেন্ট থাকলেও false রিটার্ন করবে।

উদাহরণ ১: ভিন্ন কন্টেন্টের SortedList এবং একই রেফারেন্স

using System;
using System.Collections;

public class Demo {
    public static void Main(String[] args) {
        SortedList list1 = new SortedList();
        list1.Add("One", 1);
        list1.Add("Two ", 2);
        list1.Add("Three ", 3);
        list1.Add("Four", 4);
        list1.Add("Five", 5);
        list1.Add("Six", 6);
        list1.Add("Seven ", 7);
        list1.Add("Eight ", 8);
        list1.Add("Nine", 9);
        list1.Add("Ten", 10);

        Console.WriteLine("SortedList1 উপাদান...");
        foreach (DictionaryEntry d in list1) {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        SortedList list2 = new SortedList();
        list2.Add("A", "Accessories");
        list2.Add("B", "Books");
        list2.Add("C", "Smart Wearable Tech");
        list2.Add("D", "Home Appliances");

        Console.WriteLine("\nSortedList2 উপাদান...");
        foreach (DictionaryEntry d in list2) {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        // list3 = list2 (সেম রেফারেন্স)
        SortedList list3 = new SortedList();
        list3 = list2;
        Console.WriteLine("\nSortedList2 কি SortedList3-এর সমান? = " + list3.Equals(list2));
    }
}

আউটপুট

SortedList1 উপাদান...
Eight  8
Five 5
Four 4
Nine 9
One 1
Seven  7
Six 6
Ten 10
Three  3
Two  2
SortedList2 উপাদান...
A Accessories
B Books
C Smart Wearable Tech
D Home Appliances
SortedList2 কি SortedList3-এর সমান? = True

উদাহরণ ২: একই কন্টেন্ট কিন্তু ভিন্ন ইনস্ট্যান্স

using System;
using System.Collections;

public class Demo {
    public static void Main(String[] args) {
        SortedList list1 = new SortedList();
        list1.Add("One", 1);
        list1.Add("Two ", 2);
        list1.Add("Three ", 3);
        list1.Add("Four", 4);
        list1.Add("Five", 5);
        list1.Add("Six", 6);
        list1.Add("Seven ", 7);
        list1.Add("Eight ", 8);
        list1.Add("Nine", 9);
        list1.Add("Ten", 10);

        Console.WriteLine("SortedList1 উপাদান (কী-মান জোড়া)...");
        foreach (DictionaryEntry d in list1) {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        SortedList list2 = new SortedList();
        list2.Add("A", "Accessories");
        list2.Add("B", "Books");
        list2.Add("C", "Smart Wearable Tech");
        list2.Add("D", "Home Appliances");

        Console.WriteLine("\nSortedList2 উপাদান (কী-মান জোড়া)...");
        foreach (DictionaryEntry d in list2) {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        Console.WriteLine("\nSortedList2 কি SortedList1-এর সমান? = " + list2.Equals(list1));
    }
}

আউটপুট

SortedList1 উপাদান (কী-মান জোড়া)...
Eight  8
Five 5
Four 4
Nine 9
One 1
Seven  7
Six 6
Ten 10
Three  3
Two  2
SortedList2 উপাদান (কী-মান জোড়া)...
A Accessories
B Books
C Smart Wearable Tech
D Home Appliances
SortedList2 কি SortedList1-এর সমান? = False

ব্যাখ্যা: SortedList.Equals(obj) ডিফল্ট Object.Equals ব্যবহার করে যা রেফারেন্স সমতা চেক করে। কন্টেন্ট সমতা চেক করতে হলে ম্যানুয়ালি কী এবং ভ্যালু তুলনা করতে হবে বা LINQ-এর SequenceEqual ব্যবহার করতে হবে। জেনেরিক SortedList<TKey, TValue>-ও একই আচরণ করে। কন্টেন্ট কম্পারিশনের জন্য কাস্টম মেথড লিখতে হয়।

  1. C#-এ দুটি লিস্টের ইন্টারসেকশন (Intersection) খুঁজে বের করা

  2. C#-এ দুটি ম্যাট্রিক্স ইডেন্টিক্যাল কিনা চেক করা

  3. পাইথন প্যান্ডাস - দুটি Index অবজেক্ট সমান কিনা তা নির্ধারণ করুন

  4. পাইথন প্যান্ডাস: দুটি ডেটাফ্রেম অবজেক্ট সমান কিনা যাচাই করা