C# | Check if a HashSet is a proper subset of the specified collection

A HashSet is an unordered collection of the unique elements. It comes under System.Collections.Generic namespace. It is used in a situation where we want to prevent duplicates from being inserted in the collection. As far as performance is concerned, it is better in comparison to the list. HashSet<T>.IsProperSubsetOf(IEnumerable<T>) method is used to check whether a HashSet<T> object is a proper subset of the specified collection.

Syntax:

mySet1.IsProperSubsetOf(mySet2);

Here, mySet1 and mySet2 are two HashSets.

Return Value: This method returns True if mySet1 is proper subset of mySet2 otherwise it returns false.

Exception: This method will give ArgumentNullException if the HashSets is null.

Below given are some examples to understand the implementation in a better way:

Example 1:




// C# code to Check if a HashSet is a proper
// subset of the specified collection
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HashSet of strings
        HashSet<string> mySet1 = new HashSet<string>();
  
        // Inserting elements in HashSet
        mySet1.Add("Beginner");
        mySet1.Add("BeginnerQuiz");
  
        // Creating a HashSet of strings
        HashSet<string> mySet2 = new HashSet<string>();
  
        // Inserting elements in HashSet
        mySet2.Add("DS");
        mySet2.Add("C++");
        mySet2.Add("Java");
        mySet2.Add("JavaScript");
        mySet2.Add("BeginnerQuiz");
        mySet2.Add("Beginner");
  
        // Check if a HashSet is a proper
        // subset of the specified collection
        Console.WriteLine(mySet1.IsProperSubsetOf(mySet2));
    }
}


Output:

True

Example 2:




// C# code to Check if a HashSet is a proper
// subset of the specified collection
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HashSet of integers
        HashSet<int> mySet1 = new HashSet<int>();
  
        // Inserting elements in HashSet
        mySet1.Add(4);
        mySet1.Add(8);
        mySet1.Add(12);
        mySet1.Add(16);
  
        // Creating a HashSet of integers
        HashSet<int> mySet2 = new HashSet<int>();
  
        // Inserting elements in HashSet
        mySet2.Add(4);
        mySet2.Add(8);
        mySet2.Add(15);
        mySet2.Add(20);
  
        // Check if a HashSet is a proper
        // subset of the specified collection
        Console.WriteLine(mySet1.IsProperSubsetOf(mySet2));
    }
}


Output:

False

Reference:

  • https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1.ispropersubsetof?view=netframework-4.7.2


Contact Us