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

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

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

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

using System;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        StringCollection strCol1 = new StringCollection();
        strCol1.Add("Accessories");
        strCol1.Add("Books");
        strCol1.Add("Electronics");

        Console.WriteLine("StringCollection1 উপাদান...");
        foreach (string res in strCol1) {
            Console.WriteLine(res);
        }

        StringCollection strCol2 = new StringCollection();
        strCol2.Add("Accessories");
        strCol2.Add("Books");
        strCol2.Add("Electronics");

        Console.WriteLine("StringCollection2 উপাদান...");
        foreach (string res in strCol2) { // বাগ: strCol1 বায়ে strCol2 হওয়া উচিত
            Console.WriteLine(res);
        }

        Console.WriteLine("দুটি স্ট্রিং কলেকশন কি সমান? = " + strCol1.Equals(strCol2));
    }
}

আউটপুট

StringCollection1 উপাদান...
Accessories
Books
Electronics
StringCollection2 উপাদান...
Accessories
Books
Electronics
দুটি স্ট্রিং কলেকশন কি সমান? = False

উদাহরণ ২: সেম রেফারেন্স চেক

using System;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        StringCollection strCol1 = new StringCollection();
        strCol1.Add("Accessories");
        strCol1.Add("Books");
        strCol1.Add("Electronics");

        Console.WriteLine("StringCollection1 উপাদান...");
        foreach (string res in strCol1) {
            Console.WriteLine(res);
        }

        StringCollection strCol2 = new StringCollection();
        strCol2.Add("Accessories");
        strCol2.Add("Books");
        strCol2.Add("Electronics");

        Console.WriteLine("StringCollection2 উপাদান...");
        foreach (string res in strCol2) {
            Console.WriteLine(res);
        }

        Console.WriteLine("দুটি স্ট্রিং কলেকশন কি সমান? = " + strCol1.Equals(strCol2));

        // strCol3 = strCol2 (সেম রেফারেন্স)
        StringCollection strCol3 = new StringCollection();
        strCol3 = strCol2;
        Console.WriteLine("StringCollection3 কি StringCollection2-এর সমান? = " + strCol3.Equals(strCol2));
    }
}

আউটপুট

StringCollection1 উপাদান...
Accessories
Books
Electronics
StringCollection2 উপাদান...
Accessories
Books
Electronics
দুটি স্ট্রিং কলেকশন কি সমান? = False
StringCollection3 কি StringCollection2-এর সমান? = True

ব্যাখ্যা: StringCollection.Equals রেফারেন্স সমতা চেক করে। কন্টেন্ট সমতা চেক করতে হলে strCol1.Count == strCol2.Count && strCol1.Cast<string>().SequenceEqual(strCol2.Cast<string>()) বা লুপ ব্যবহার করুন। StringCollection লিগ্যাসি নন-জেনেরিক ক্লাস; নতুন প্রজেক্টে List<string> ব্যবহার করুন যেটে SequenceEqual বা কাস্টম কম্পারিশন সহজ।

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

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

  3. পাইথন: স্ট্রিং স্প্লিটের অংশগুলো সমান কিনা যাচাই করা

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