HashSet<T>.TrimExcess Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
TrimExcess() |
Mengatur kapasitas HashSet<T> objek ke jumlah elemen aktual yang dikandungnya, dibulatkan ke nilai khusus implementasi terdekat. |
TrimExcess(Int32) |
TrimExcess()
- Sumber:
- HashSet.cs
- Sumber:
- HashSet.cs
- Sumber:
- HashSet.cs
Mengatur kapasitas HashSet<T> objek ke jumlah elemen aktual yang dikandungnya, dibulatkan ke nilai khusus implementasi terdekat.
public:
void TrimExcess();
public void TrimExcess ();
member this.TrimExcess : unit -> unit
Public Sub TrimExcess ()
Contoh
Contoh berikut membuat dan mengisi HashSet<T> koleksi, lalu menghapus koleksi dan merilis memori yang dirujuk olehnya.
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
Keterangan
Anda dapat menggunakan TrimExcess metode untuk meminimalkan HashSet<T> overhead memori objek setelah diketahui bahwa tidak ada elemen baru yang akan ditambahkan. Untuk menghapus objek sepenuhnya dan melepaskan semua memori yang HashSet<T> dirujuk olehnya, panggil metode ini setelah memanggil Clear metode .
Metode ini adalah operasi O(n
), di mana n
adalah Count.
Berlaku untuk
TrimExcess(Int32)
- Sumber:
- HashSet.cs
public:
void TrimExcess(int capacity);
public void TrimExcess (int capacity);
member this.TrimExcess : int -> unit
Public Sub TrimExcess (capacity As Integer)
Parameter
- capacity
- Int32
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk