HashSet<T>.TrimExcess Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
TrimExcess() |
Legt die Kapazität eines HashSet<T>-Objekts auf die Anzahl der tatsächlich enthaltenen Elemente fest, aufgerundet auf einen nahe gelegenen implementierungsabhängigen Wert. |
TrimExcess(Int32) |
TrimExcess()
- Quelle:
- HashSet.cs
- Quelle:
- HashSet.cs
- Quelle:
- HashSet.cs
Legt die Kapazität eines HashSet<T>-Objekts auf die Anzahl der tatsächlich enthaltenen Elemente fest, aufgerundet auf einen nahe gelegenen implementierungsabhängigen Wert.
public:
void TrimExcess();
public void TrimExcess ();
member this.TrimExcess : unit -> unit
Public Sub TrimExcess ()
Beispiele
Im folgenden Beispiel wird eine HashSet<T> Auflistung erstellt und aufgefüllt, dann wird die Auflistung gelöscht und der Speicher freigegeben, auf den sie verweist.
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
Hinweise
Sie können die -Methode verwenden, um den TrimExcess Arbeitsspeicheraufwand eines HashSet<T> Objekts zu minimieren, sobald bekannt ist, dass keine neuen Elemente hinzugefügt werden. Um ein HashSet<T> Objekt vollständig zu löschen und den gesamten Arbeitsspeicher freizugeben, auf den es verweist, rufen Sie diese Methode nach dem Aufrufen der Clear -Methode auf.
Diese Methode ist ein O()n
-Vorgang, wobei n
ist Count.
Gilt für:
TrimExcess(Int32)
- Quelle:
- 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
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für