HashSet<T>.Clear Method

Definition

Entfernt alle Elemente aus einem HashSet<T>-Objekt.Removes all elements from a HashSet<T> object.

public:
 virtual void Clear();
public void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Sub Clear ()

Implements

Examples

Im folgenden Beispiel wird eine HashSet<T> Auflistung erstellt und aufgefüllt. Anschließend wird Sie gelöscht und der Speicher, auf den von der Auflistung verwiesen wird, freigegeben.The following example creates and populates a HashSet<T> collection, then clears it and releases the memory referenced by the collection.

HashSet<int> Numbers = new HashSet<int>();

for (int i = 0; i < 10; i++)
{
    Numbers.Add(i);
}

Console.Write("Numbers contains {0} elements: ", Numbers.Count);
DisplaySet(Numbers);

Numbers.Clear();
Numbers.TrimExcess();

Console.Write("Numbers contains {0} elements: ", Numbers.Count);
DisplaySet(Numbers);

void DisplaySet(HashSet<int> set)
{
    Console.Write("{");
    foreach (int i in set)
    {
        Console.Write(" {0}", i);
    }
    Console.WriteLine(" }");
}

/* This example produces output similar to the following:
* Numbers contains 10 elements: { 0 1 2 3 4 5 6 7 8 9 }
* Numbers contains 0 elements: { }
*/
Imports System.Collections.Generic

Class Program

    Shared Sub Main()

        Dim Numbers As HashSet(Of Integer) = New HashSet(Of Integer)()

        For i As Integer = 0 To 9
            Numbers.Add(i)
        Next i

        Console.Write("Numbers contains {0} elements: ", Numbers.Count)
        DisplaySet(Numbers)

        Numbers.Clear()
        Numbers.TrimExcess()

        Console.Write("Numbers contains {0} elements: ", Numbers.Count)
        DisplaySet(Numbers)

    End Sub
    ' This code example produces output similar to the following:
    ' Numbers contains 10 elements: { 0 1 2 3 4 5 6 7 8 9 }
    ' Numbers contains 0 elements: { }

    Private Shared Sub DisplaySet(ByVal coll As HashSet(Of Integer))
        Console.Write("{")
        For Each i As Integer In coll
            Console.Write(" {0}", i)
        Next i
        Console.WriteLine(" }")
    End Sub

End Class

Remarks

Count ist auf NULL festgelegt, und Verweise auf andere Objekte von Elementen der Auflistung werden ebenfalls freigegeben.Count is set to zero and references to other objects from elements of the collection are also released. Die Kapazität bleibt unverändert, bis ein TrimExcess aufgerufen wird.The capacity remains unchanged until a call to TrimExcess is made.

Bei dieser Methode handelt es sich um einen O (n)-Vorgang, bei dem n Countist.This method is an O(n) operation, where n is Count.

Applies to