HashSet<T>.TrimExcess 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.
Aşırı Yüklemeler
TrimExcess() |
Bir HashSet<T> nesnenin kapasitesini, içerdiği öğelerin gerçek sayısına ayarlar ve yakın, uygulamaya özgü bir değere yuvarlar. |
TrimExcess(Int32) |
TrimExcess()
- Kaynak:
- HashSet.cs
- Kaynak:
- HashSet.cs
- Kaynak:
- HashSet.cs
Bir HashSet<T> nesnenin kapasitesini, içerdiği öğelerin gerçek sayısına ayarlar ve yakın, uygulamaya özgü bir değere yuvarlar.
public:
void TrimExcess();
public void TrimExcess ();
member this.TrimExcess : unit -> unit
Public Sub TrimExcess ()
Örnekler
Aşağıdaki örnek bir HashSet<T> koleksiyon oluşturup doldurur ve ardından koleksiyonu temizler ve 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: { }
*/
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
Yeni öğe eklenmeyecek TrimExcess bilindikten sonra nesnenin HashSet<T> bellek yükünü en aza indirmek için yöntemini kullanabilirsiniz. Bir HashSet<T> nesneyi tamamen temizlemek ve bu nesne tarafından başvuruda bulunan tüm belleği serbest bırakmak için yöntemini çağırdıktan sonra bu yöntemi çağırın Clear .
Bu yöntem bir O(n
) işlemidir ve burada n
olur Count.
Şunlara uygulanır
TrimExcess(Int32)
- Kaynak:
- HashSet.cs
public:
void TrimExcess(int capacity);
public void TrimExcess (int capacity);
member this.TrimExcess : int -> unit
Public Sub TrimExcess (capacity As Integer)
Parametreler
- capacity
- Int32
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin