HashSet<T>.Clear Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee verwijdert u alle elementen uit een HashSet<T> object.
public:
virtual void Clear();
public void Clear();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Sub Clear ()
Implementeringen
Voorbeelden
In het volgende voorbeeld wordt een HashSet<T> verzameling gemaakt en gevuld, waarna deze wordt gewist en het geheugen wordt vrijgegeven waarnaar wordt verwezen door de verzameling.
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: { }
*/
let displaySet (set: HashSet<int>) =
printf "{"
for i in set do
printf $" {i}"
printfn " }"
// 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: { }
let numbers = HashSet<int>()
for i = 0 to 9 do
numbers.Add i |> ignore
printf $"Numbers contains {numbers.Count} elements: "
displaySet numbers
numbers.Clear()
numbers.TrimExcess()
printf $"Numbers contains {numbers.Count} elements: "
displaySet numbers
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
Opmerkingen
Count is ingesteld op nul en verwijzingen naar andere objecten uit elementen van de verzameling worden ook vrijgegeven. De capaciteit blijft ongewijzigd totdat een aanroep wordt TrimExcess gedaan.
Deze methode is een O(n)-bewerking, waarbij n .Count