HashSet<T>.Clear Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesneden HashSet<T> tüm öğeleri kaldırır.
public:
virtual void Clear();
public void Clear();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Sub Clear ()
Uygulamalar
Örnekler
Aşağıdaki örnek bir HashSet<T> koleksiyon oluşturup doldurur, ardından koleksiyonu temizler ve koleksiyon tarafından başvuruda bulunan belleği serbest bırakır.
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
Açıklamalar
Count sıfır olarak ayarlanır ve koleksiyonun öğelerindeki diğer nesnelere başvurular da serbest bırakılır. Çağrısı yapılana TrimExcess kadar kapasite değişmeden kalır.
Bu yöntem bir O(n) işlemidir; burada n olur Count.