C# | Check if two HashSet<T> objects are equal
Last Updated :
11 Jul, 2025
Equals(Object) Method which is inherited from the Object class is used to check if a specified
HashSet<T> object is equal to another HashSet<T> object or not.
Syntax:
public virtual bool Equals (object obj);
Here, obj is the object which is to be compared with the current object.
Return Value: This method return
true if the specified object is equal to the current object otherwise it returns
false.
Below programs illustrate the use of above-discussed method:
Example 1:
CSharp
// C# program to if a HashSet object
// is equal to another HashSet object
using System;
using System.Collections.Generic;
class Geeks {
// Main Method
public static void Main(String[] args)
{
// Creating a HashSet of strings
HashSet<string> mySet = new HashSet<string>();
// Inserting elements in HashSet
mySet.Add("DS");
mySet.Add("C++");
mySet.Add("Java");
mySet.Add("JavaScript");
// Checking whether mySet is
// equal to itself or not
Console.WriteLine(mySet.Equals(mySet));
}
}
Example 2:
CSharp
// C# program to if a HashSet object
// is equal to another HashSet object
using System;
using System.Collections.Generic;
class Geeks {
// Main Method
public static void Main(String[] args)
{
// Creating a HashSet of strings
HashSet<string> mySet1 = new HashSet<string>();
// Inserting elements in HashSet
mySet1.Add("HTML");
mySet1.Add("CSS");
mySet1.Add("PHP");
mySet1.Add("DBMS");
// Creating a HashSet of integers
HashSet<int> mySet2 = new HashSet<int>();
// Inserting elements in HashSet
for (int i = 0; i < 5; i++) {
mySet2.Add(i * 2);
}
// Checking whether mySet1 is
// equal to mySet2 or not
Console.WriteLine(mySet1.Equals(mySet2));
// Creating a HashSet of integers
HashSet<int> mySet3 = new HashSet<int>();
// Assigning mySet2 to mySet3
mySet3 = mySet2;
// Checking whether mySet3 is
// equal to mySet2 or not
Console.WriteLine(mySet3.Equals(mySet2));
}
}