HashSet<T>.Remove(T) 方法 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 HashSet<T> 对象移除指定元素。
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 Boolean参数
- item
- T
要移除的元素。
返回
如果成功找到并移除该元素,则为 true;否则为 false。  如果未在 HashSet<T> 对象中找到 item,则此方法返回 false。
实现
示例
以下示例演示如何使用 Remove 方法从HashSet<T>集合中删除值。 在此示例中,从集合中 HashSet<T> 任意删除零。
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 }
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 }
注解
HashSet<T>如果对象不包含指定的元素,则对象保持不变。 不会引发异常。
此方法是 O (1) 操作。