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

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

List<T>.Equals() মেথড (Object.Equals থেকে উত্তরাধিকার) রেফারেন্স সমানতা চেক করে। দুটি আলাদা লিস্ট একই উপাদান ধারণ করলেও false রিটার্ন করবে। কন্টেন্ট সমানতা চেক করতে SequenceEqual (LINQ) বা কাস্টম লজিক ব্যবহার করুন।

উদাহরণ ১: ভিন্ন কন্টেন্টवाले লিস্ট (False)

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(String[] args){
        List list1 = new List();
        list1.Add("One");
        list1.Add("Two");
        list1.Add("Three");
        list1.Add("Four");
        list1.Add("Five");
        
        Console.WriteLine("List1-এ উপাদানসমূহ...");
        foreach (string res in list1){
            Console.WriteLine(res);
        }
        
        List list2 = new List();
        list2.Add("India");
        list2.Add("US");
        list2.Add("UK");
        list2.Add("Canada");
        list2.Add("Poland");
        list2.Add("Netherlands");
        
        Console.WriteLine("List2-এ উপাদানসমূহ...");
        foreach (string res in list2){
            Console.WriteLine(res);
        }
        Console.WriteLine("List2 List1-এর সমান? = " + list2.Equals(list1));
    }
}

আউটপুট

List1-এ উপাদানসমূহ...
One
Two
Three
Four
Five
List2-এ উপাদানসমূহ...
India
US
UK
Canada
Poland
Netherlands
List2 List1-এর সমান? = False

উদাহরণ ২: রেফারেন্স সমানতা (True)

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(String[] args){
        List list1 = new List();
        list1.Add("One");
        list1.Add("Two");
        list1.Add("Three");
        list1.Add("Four");
        list1.Add("Five");
        
        Console.WriteLine("List1-এ উপাদানসমূহ...");
        foreach (string res in list1){
            Console.WriteLine(res);
        }
        
        List list2 = new List();
        list2.Add("India");
        list2.Add("US");
        list2.Add("UK");
        list2.Add("Canada");
        list2.Add("Poland");
        list2.Add("Netherlands");
        
        Console.WriteLine("List2-এ উপাদানসমূহ...");
        foreach (string res in list2){
            Console.WriteLine(res);
        }
        
        List list3 = new List();
        list3 = list2; // একই রেফারেন্স
        Console.WriteLine("List3 List2-এর সমান? = " + list3.Equals(list2));
    }
}

আউটপুট

List1-এ উপাদানসমূহ...
One
Two
Three
Four
Five
List2-এ উপাদানসমূহ...
India
US
UK
Canada
Poland
Netherlands
List3 List2-এর সমান? = True

সঠিক পদ্ধতি: কন্টেন্ট সমানতা চেক করতে list1.SequenceEqual(list2) (using System.Linq) ব্যবহার করুন। এটি উপাদান এবং অর্ডার দুটোই মিলায়।

  1. পাইথন: লিস্ট এলিমেন্টের নির্দিষ্ট ইনডেক্সের ভ্যালু চেক লিস্টের সমান কিনা যাচাই করা

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

  3. পাইথন: লিস্ট এলিমেন্টের ইন্ডেক্স এবং মান সমান কিনা যাচাই করা

  4. পাইথনে দুটি টাপলের তালিকা অভিন্ন কিনা যাচাই করা