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

C#-এ HashSet-এ সাবসেট যাচাই করা (IsSubsetOf মেথড)


C#-এ HashSet<T>.IsSubsetOf() মেথডটি বর্তমান HashSet-টি নির্দিষ্ট কালেকশনের সাবসেট (subset) কিনা তা যাচাই করে। একটি সেট A, সেট B-এর সাবসেট হলে A-র সব এলিমেন্ট B-তে থাকে।

উদাহরণ ১: সাবসেট নয় (Partial overlap)

using System; 
using System.Collections.Generic; 
public class Demo { 
    public static void Main(){ 
        HashSet<string> set1 = new HashSet<string>(); 
        set1.Add("EF"); 
        set1.Add("OP"); 
        Console.WriteLine("Elements in HashSet1"); 
        foreach(string val in set1){ 
            Console.WriteLine(val); 
        } 
        HashSet<string> set2 = new HashSet<string>(); 
        set2.Add("KL"); 
        set2.Add("MN"); 
        set2.Add("OP"); 
        set2.Add("QR"); 
        Console.WriteLine("Elements in HashSet2"); 
        foreach(string val in set2){ 
            Console.WriteLine(val); 
        } 
        Console.WriteLine("Is set1 a subset of set2? " + set1.IsSubsetOf(set2)); 
    } 
}

আউটপুট

Elements in HashSet1 
EF 
OP 
Elements in HashSet2 
KL 
MN 
OP 
QR 
Is set1 a subset of set2? False

উদাহরণ ২: সাবসেট (Proper subset)

using System; 
using System.Collections.Generic; 
public class Demo { 
    public static void Main(){ 
        HashSet<string> set1 = new HashSet<string>(); 
        set1.Add("EF"); 
        set1.Add("OP"); 
        Console.WriteLine("Elements in HashSet1"); 
        foreach(string val in set1){ 
            Console.WriteLine(val); 
        } 
        HashSet<string> set2 = new HashSet<string>(); 
        set2.Add("EF"); 
        set2.Add("OP"); 
        set2.Add("QR"); 
        Console.WriteLine("Elements in HashSet2"); 
        foreach(string val in set2){ 
            Console.WriteLine(val); 
        } 
        Console.WriteLine("Is set1 a subset of set2? " + set1.IsSubsetOf(set2)); 
    } 
}

আউটপুট

Elements in HashSet1 
EF 
OP 
Elements in HashSet2 
EF 
OP 
QR 
Is set1 a subset of set2? True

সেট থিওরি সংক্রান্ত অন্যান্য মেথডস

মেথডবিবরণ
IsSubsetOf(other)বর্তমান সেট `other`-এর সাবসেট কিনা (A ⊆ B)
IsProperSubsetOf(other)বর্তমান সেট `other`-এর প্রপার সাবসেট কিনা (A ⊂ B, A ≠ B)
IsSupersetOf(other)বর্তমান সেট `other`-এর সুপারসেট কিনা (A ⊇ B)
IsProperSupersetOf(other)বর্তমান সেট `other`-এর প্রপার সুপারসেট কিনা (A ⊃ B)
Overlaps(other)দুই সেটে কমপক্ষে একটি সাধারণ এলিমেন্ট আছে কিনা
SetEquals(other)দুই সেট সমান কিনা (একই এলিমেন্টগুলো)

মূল পয়েন্টস

  • IsSubsetOf() O(n) সময়ে কাজ করে (n = বর্তমান সেটের আকার)।
  • খালি সেট (empty set) যেকোনো সেটের সাবসেট (true রিটার্ন করে)।
  • একটি সেট নিজের সাবসেট (reflexive property)।
  • প্যারামিটার হিসেবে যেকোনো IEnumerable<T> গ্রহণ করে (শুধু HashSet নয়)।
  • HashSet ডুপ্লিকেট এলিমেন্ট অনুমতি দেয় না, তাই সেট অপারেশন খুব দ্রুত।
  1. C#-এ HashSet প্রপার সাবসেট কিনা তা যাচাই করুন

  2. C#-এ HashSet-তে নির্দিষ্ট উপাদান রয়েছে কিনা তা যাচাই করুন

  3. C#-এ HashSet এবং নির্দিষ্ট কালেকশনে সাধারণ উপাদান আছে কিনা তা যাচাই করুন

  4. C#-এ HashSet (C# Set Collection)