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>-ও একই আচরণ করে। কন্টেন্ট কম্পারিশনের জন্য কাস্টম মেথড লিখতে হয়।