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

C# প্রোগ্রাম: দুটি লিস্টের পার্থক্য বের করা

C#-এ List<T> এর মধ্যে পার্থক্য বের করার সবচেয়ে সহজ এবং কার্যকর উপায় হলো LINQ-এর Except() মেথড ব্যবহার করা। এই মেথড প্রথম লিস্টে থাকা কিন্তু দ্বিতীয় লিস্টে নাও থাকা উপাদানগুলো রিটার্ন করে।

প্রাথমিক সেটআপ

// প্রথম লিস্ট
List<string> list1 = new List<string>();
list1.Add("A");
list1.Add("B");
list1.Add("C");
list1.Add("D");

// দ্বিতীয় লিস্ট
List<string> list2 = new List<string>();
list2.Add("C");
list2.Add("D");

পার্থক্য বের করার কোড

using System.Linq;

IEnumerable<string> list3 = list1.Except(list2);

সম্পূর্ণ উদাহরণ

using System;
using System.Collections.Generic;
using System.Linq;

public class Demo
{
    public static void Main()
    {
        List<string> list1 = new List<string>();
        list1.Add("A");
        list1.Add("B");
        list1.Add("C");
        list1.Add("D");
        
        Console.WriteLine("প্রথম লিস্ট...");
        foreach (string value in list1)
        {
            Console.WriteLine(value);
        }

        List<string> list2 = new List<string>();
        list2.Add("C");
        list2.Add("D");
        
        Console.WriteLine("দ্বিতীয় লিস্ট...");
        foreach (string value in list2)
        {
            Console.WriteLine(value);
        }

        Console.WriteLine("দুই লিস্টের পার্থক্য...");
        IEnumerable<string> list3 = list1.Except(list2);
        
        foreach (string value in list3)
        {
            Console.WriteLine(value);
        }
    }
}

আউটপুট

প্রথম লিস্ট...
A
B
C
D
দ্বিতীয় লিস্ট...
C
D
দুই লিস্টের পার্থক্য...
A
B

মূল পয়েন্টগুলো

  • Except() মেথড: এটি সেট থিওরির "পার্থক্য" অপারেশন ইমপ্লিমেন্ট করে।
  • অর্ডার সংরক্ষণ: ফলাফলে উপাদানগুলো প্রথম লিস্টের অর্ডার অনুযায়ী থাকে।
  • ডুপ্লিকেট হ্যান্ডলিং: যদি প্রথম লিস্টে ডুপ্লিকেট থাকে, তবে Except() সেগুলো একবারই দেখাবে (সেট আচরণ)।
  • কাস্টম টাইপের জন্য: জটিল অবজেক্টের লিস্টে IEqualityComparer<T> ইমপ্লিমেন্ট করতে হয়।

বিকল্প: ম্যানুয়াল পদ্ধতি

LINQ ছাড়া আপনি লুপ এবং Contains() ব্যবহার করেও এটি করতে পারেন, কিন্তু পারফরম্যান্স এবং পঠনযোগ্যতার দৃষ্টিকোণ থেকে Except() श्रেষ্ঠ।

  1. Python প্রোগ্রাম: লিস্টে স্ট্রিং খুঁজে বের করার পদ্ধতি

  2. পাইথনে দুটি লিস্ট থেকে ন্যূনতম পার্থক্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে দুটি লিস্টের পার্থক্য (Difference) বের করার প্রোগ্রাম

  4. পাইথনে লিস্ট এবং টাপলের পার্থক্য কী?