HashSet<T>.Remove(T) Method 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Removes the specified element from a HashSet<T> object.
public:
 virtual bool Remove(T item);public bool Remove(T item);abstract member Remove : 'T -> bool
override this.Remove : 'T -> boolPublic Function Remove (item As T) As BooleanParameters
- item
- T
The element to remove.
Returns
true if the element is successfully found and removed; otherwise, false.  This method returns false if item is not found in the HashSet<T> object.
Implements
Examples
The following example demonstrates how to remove values from a HashSet<T> collection using the Remove method. In this example, zero is arbitrarily removed from the HashSet<T> collection.
HashSet<int> numbers = new HashSet<int>();
for (int i = 0; i < 20; i++) {
    numbers.Add(i);
}
// Display all the numbers in the hash table.
Console.Write("numbers contains {0} elements: ", numbers.Count);
DisplaySet(numbers);
// Remove all odd numbers.
numbers.RemoveWhere(IsOdd);
Console.Write("numbers contains {0} elements: ", numbers.Count);
DisplaySet(numbers);
// Check if the hash table contains 0 and, if so, remove it.
if (numbers.Contains(0)) {
    numbers.Remove(0);
}
Console.Write("numbers contains {0} elements: ", numbers.Count);
DisplaySet(numbers);
bool IsOdd(int i)
{
    return ((i % 2) == 1);
}
void DisplaySet(HashSet<int> set)
{
    Console.Write("{");
    foreach (int i in set)
        Console.Write(" {0}", i);
    Console.WriteLine(" }");
}
// This example displays the following output:
//    numbers contains 20 elements: { 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 }
//    numbers contains 10 elements: { 0 2 4 6 8 10 12 14 16 18 }
//    numbers contains 9 elements: { 2 4 6 8 10 12 14 16 18 }
let isOdd i = i % 2 = 1
let displaySet (set: HashSet<int>) =
    printf "{"
    for i in set do
        printf $" {i}"
    printfn " }"
let numbers = HashSet<int>()
for i in 1..20 do
    numbers.Add i |> ignore
// Display all the numbers in the hash table.
printf $"numbers contains {numbers.Count} elements: "
displaySet numbers
// Remove all odd numbers.
numbers.RemoveWhere isOdd |> ignore
printf $"numbers contains {numbers.Count} elements: "
displaySet numbers
// Check if the hash table contains 0 and, if so, remove it.
if numbers.Contains 0 then
    numbers.Remove 0 |> ignore
printf $"numbers contains {numbers.Count} elements: "
displaySet numbers
// This example displays the following output:
//    numbers contains 20 elements: { 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 }
//    numbers contains 10 elements: { 0 2 4 6 8 10 12 14 16 18 }
//    numbers contains 9 elements: { 2 4 6 8 10 12 14 16 18 }
Imports System.Collections.Generic
Module Example
    Public Sub Main()
        Dim numbers As New HashSet(Of Integer)()
        For i As Integer = 0 To 19
            numbers.Add(i)
        Next i
        ' Display all the numbers in the hash table.
        Console.Write("numbers contains {0} elements: ", numbers.Count)
        DisplaySet(numbers)
        ' Remove all odd numbers.
        numbers.RemoveWhere(AddressOf IsOdd)
        Console.Write("numbers contains {0} elements: ", numbers.Count)
        DisplaySet(numbers)
        ' Check if the hash table contains 0 and, if so, remove it.
        If numbers.Contains(0) Then
            numbers.Remove(0)
        End If
        Console.Write("numbers contains {0} elements: ", numbers.Count)
        DisplaySet(numbers)
    End Sub
    Private Function IsOdd(ByVal i As Integer) As Boolean
        Return ((i Mod 2) = 1)
    End Function
    Private Sub DisplaySet(ByVal coll As HashSet(Of Integer))
        Console.Write("{")
        For Each i As Integer In coll
            Console.Write(" {0}", i)
        Next
        Console.WriteLine(" }")
    End Sub
End Module
' The example displays the following output:
'    numbers contains 20 elements: { 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 }
'    numbers contains 10 elements: { 0 2 4 6 8 10 12 14 16 18 }
'    numbers contains 9 elements: { 2 4 6 8 10 12 14 16 18 }
Remarks
If the HashSet<T> object does not contain the specified element, the object remains unchanged. No exception is thrown.
This method is an O(1) operation.