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

C# LINQ-এ "Not In" কোয়েরি করা (Except অপারেটর)

Except অপারেটর ডিজাইন করা হয়েছে IEnumerable<T> সাপোর্ট করা ডেটা কোয়েরি করার জন্য। যেহেতু সব LINQ কোয়েরি IEnumerable<T> রিটার্ন করে, তাই এই অপারেটর LINQ কোয়েরি রেজাল্টের ওপর সেট অপারেশন করতে দেয়।

Except অপারেটর একটি লিস্টের সব আইটেম দেখায় دوسرے লিস্টের আইটেম বাদ দিয়ে।

উদাহরণ ১: Except মেথড সিনট্যাক্স

class Program
{
    static void Main(string[] args)
    {
        var listA = Enumerable.Range(1, 6); // 1,2,3,4,5,6
        var listB = new List<int> { 3, 4 };
        var listC = listA.Except(listB);
        foreach (var item in listC) Console.WriteLine(item);
        Console.ReadLine();
    }
}

ব্যাখ্যা: লিস্ট A (1-6) থেকে লিস্ট B (3,4) বাদ দিয়ে বাকিগুলো পাওয়া যাচ্ছে।

আউটপুট

1
2
5
6

উদাহরণ ২: SQL-লাইক সিনট্যাক্স (Where + Any)

static void Main(string[] args)
{
    var listA = Enumerable.Range(1, 6);
    var listB = new List<int> { 3, 4 };
    var listC = from c in listA
                where !listB.Any(o => o == c)
                select c;
    foreach (var item in listC) Console.WriteLine(item);
    Console.ReadLine();
}

আউটপুট

1
2
5
6

নোট: Except ডিস্টিংক্ট রেজাল্ট দেয় (ডুপ্লিকেট রিমুভ করে)। যদি ডুপ্লিকেট রাখতে চান, তবে Where + !Any বা !Contains ব্যবহার করুন। কমপ্লেক্স অবজেক্টের জন্য IEqualityComparer<T> ইমপ্লিমেন্ট করতে হয়।

  1. Java-এ MySQL PreparedStatement দিয়ে SELECT কোয়েরি চালানো

  2. সাইন ইন উইথ অ্যাপল ব্যবহার করার পদ্ধতি

  3. VPN ব্যবহার করে BitTorrent ক্লায়েন্ট কনফিগার করার পদ্ধতি

  4. জিমেইল অ্যাকাউন্টকে আউটলুক সাথে সমস্যায় যোগ করুন