C# | Remove elements from a HashSet with conditions defined by the predicate Last Updated : 11 Jul, 2025 Summarize Comments Improve Suggest changes Share Like Article Like Report 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>.RemoveWhere(Predicate<T>) method is used to remove all elements that match the conditions defined by the specified predicate from a HashSet<T> collection. Syntax: public int RemoveWhere (Predicate<T> match); Return Value: This method returns the number of elements that were removed from the HashSet<T> collection. Exception: This method will give the ArgumentNullException if the match is null. Note: Calling this method is an O(n) operation, where n is Count i.e, the number of elements that are contained in the set. Below are the programs to illustrate the use of HashSet<T>.RemoveWhere(Predicate<T>) Method: Example 1: CSHARP // C# code to remove elements from a HashSet // with conditions defined by the predicate using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a HashSet of integers HashSet<int> mySet = new HashSet<int>(); // Inserting elements into HashSet for (int i = 0; i < 10; i++) { mySet.Add(i); } Console.WriteLine("The elements in HashSet are : "); // Displaying the elements in HashSet foreach(int i in mySet) { Console.WriteLine(i); } // Displaying the number of elements in HashSet Console.WriteLine("Number of elements are : " + mySet.Count); // Remove elements from a HashSet // with conditions defined by the predicate mySet.RemoveWhere(isEven); Console.WriteLine("The elements in HashSet are : "); // Displaying the elements in HashSet foreach(int i in mySet) { Console.WriteLine(i); } // Displaying the number of elements in HashSet Console.WriteLine("Number of elements are : " + mySet.Count); } // Helper function which tells // whether an element is even or not private static bool isEven(int i) { return ((i % 2) == 0); } } Output: The elements in HashSet are : 0 1 2 3 4 5 6 7 8 9 Number of elements are : 10 The elements in HashSet are : 1 3 5 7 9 Number of elements are : 5 Example 2: CSHARP // C# code to remove elements from a HashSet // with conditions defined by the predicate using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a HashSet of integers HashSet<int> mySet = new HashSet<int>(); // Inserting elements into HashSet for (int i = 0; i < 20; i++) { mySet.Add(i); } // Displaying the number of elements in HashSet Console.WriteLine("Number of elements are : " + mySet.Count); // Remove elements from a HashSet // with conditions defined by the predicate mySet.RemoveWhere(myFunc); // Displaying the number of elements in HashSet Console.WriteLine("Number of elements are : " + mySet.Count); } // Helper function which tells // whether an element is divisible // by both 2 and 3 private static bool myFunc(int i) { return ((i % 2) == 0 && (i % 3 == 0)); } } Output: Number of elements are : 20 Number of elements are : 16 Reference: https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1.removewhere?view=netframework-4.7.2 Comment More infoAdvertise with us Next Article C# | Remove all elements of a List that match the conditions defined by the predicate S Sahil_Bansall Follow Improve Article Tags : Misc C# CSharp-method CSharp-Generic-HashSet CSharp-Generic-Namespace +1 More Practice Tags : Misc Similar Reads C# | Remove all elements of a List that match the conditions defined by the predicate List<T>.RemoveAll(Predicate<T>) Method is used to remove all the elements that match the conditions defined by the specified predicate. Properties of List: It is different from the arrays. A list can be resized dynamically but arrays cannot. List class can accept null as a valid value fo 3 min read C# | Remove all elements of a List that match the conditions defined by the predicate List<T>.RemoveAll(Predicate<T>) Method is used to remove all the elements that match the conditions defined by the specified predicate. Properties of List: It is different from the arrays. A list can be resized dynamically but arrays cannot. List class can accept null as a valid value fo 3 min read C# | Remove all elements in a collection from a HashSet In C#, you can use the ExceptWith() method to remove all the elements in a collection from a HashSet. The ExceptWith() method removes all the elements in the specified collection from the current HashSet. Here is an example code that demonstrates how to use the ExceptWith() method to remove all the 3 min read C# | Remove all elements in a collection from a HashSet In C#, you can use the ExceptWith() method to remove all the elements in a collection from a HashSet. The ExceptWith() method removes all the elements in the specified collection from the current HashSet. Here is an example code that demonstrates how to use the ExceptWith() method to remove all the 3 min read C# | Remove elements from a SortedSet that match the predicate SortedSet class represents the collection of objects in sorted order. This class comes under the System.Collections.Generic namespace. SortedSet<T>.RemoveWhere(Predicate<T>) Method is used to remove all elements that match the conditions defined by the specified predicate from a SortedSet<T 3 min read C# | Remove elements from a SortedSet that match the predicate SortedSet class represents the collection of objects in sorted order. This class comes under the System.Collections.Generic namespace. SortedSet<T>.RemoveWhere(Predicate<T>) Method is used to remove all elements that match the conditions defined by the specified predicate from a SortedSet<T 3 min read Like