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

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

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

উদাহরণ ১: একই কন্টেন্ট কিন্তু ভিন্ন ইনস্ট্যান্স, এবং সেম রেফারেন্স

using System;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        StringDictionary strDict1 = new StringDictionary();
        strDict1.Add("A", "John");
        strDict1.Add("B", "Andy");
        strDict1.Add("C", "Tim");
        strDict1.Add("D", "Ryan");
        strDict1.Add("E", "Kevin");
        strDict1.Add("F", "Katie");
        strDict1.Add("G", "Brad");

        StringDictionary strDict2 = new StringDictionary();
        strDict2.Add("A", "John");
        strDict2.Add("B", "Andy");
        strDict2.Add("C", "Tim");
        strDict2.Add("D", "Ryan");
        strDict2.Add("E", "Kevin");
        strDict2.Add("F", "Katie");
        strDict2.Add("G", "Brad");

        // strDict3 = strDict2 (সেম রেফারেন্স)
        StringDictionary strDict3 = new StringDictionary();
        strDict3 = strDict2;

        Console.WriteLine("Dictionary2 কি Dictionary3-এর সমান? = " + strDict2.Equals(strDict3));
        Console.WriteLine("Dictionary1 কি Dictionary3-এর সমান? = " + strDict1.Equals(strDict3));
    }
}

আউটপুট

Dictionary2 কি Dictionary3-এর সমান? = True
Dictionary1 কি Dictionary3-এর সমান? = False

উদাহরণ ২: ইটারেশন এবং সমতা চেক

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        StringDictionary strDict1 = new StringDictionary();
        strDict1.Add("A", "John");
        strDict1.Add("B", "Andy");
        strDict1.Add("C", "Tim");
        strDict1.Add("D", "Ryan");
        strDict1.Add("E", "Kevin");
        strDict1.Add("F", "Katie");
        strDict1.Add("G", "Brad");

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

        StringDictionary strDict2 = new StringDictionary();
        strDict2.Add("A", "John");
        strDict2.Add("B", "Andy");
        strDict2.Add("C", "Tim");
        strDict2.Add("D", "Ryan");
        strDict2.Add("E", "Kevin");
        strDict2.Add("F", "Katie");
        strDict2.Add("G", "Brad");

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

        Console.WriteLine("\nDictionary2 কি Dictionary1-এর সমান? = " + strDict2.Equals(strDict1));
    }
}

আউটপুট

StringDictionary1 উপাদান...
a John
b Andy
c Tim
d Ryan
e Kevin
f Katie
g Brad
StringDictionary2 উপাদান...
a John
b Andy
c Tim
d Ryan
e Kevin
f Katie
g Brad
Dictionary2 কি Dictionary1-এর সমান? = False

ব্যাখ্যা: StringDictionary.Equals ডিফল্ট অবজেক্ট রেফারেন্স সমতা চেক করে। কন্টেন্ট সমতা চেক করতে হলে ম্যানুয়ালি সব কী-ভ্যালু তুলনা করতে হবে বা LINQ-এর SequenceEqual (অর্ডার্ড কালেকশনের জন্য) বা সেট কম্পারিশন ব্যবহার করতে হবে। StringDictionary কেস-ইনসেনসিটিভ কী স্টোর করে (ইন্টারন্যালি लोয়ারকেস)। লিগ্যাসি ক্লাস; নতুন প্রজেক্টে Dictionary<string, string> ব্যবহার করুন।

  1. সি শার্প প্রোগ্রাম: দুটি সিকোয়েন্স একই কিনা তা যাচাই করা

  2. পাইথনে দুটি বাক্যের সাদৃশ্য যাচাই করার প্রোগ্রাম

  3. Python Pandas – দুটি DataFrame-এর নির্দিষ্ট কলাম সমান কিনা যাচাই করা

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