HashSet(Of T).TrimExcess Method ()
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Sets the capacity of a HashSet(Of T) object to the actual number of elements it contains, rounded up to a nearby, implementation-specific value.
Assembly: System.Core (in System.Core.dll)
You can use the TrimExcess method to minimize a HashSet(Of T) object's memory overhead once it is known that no new elements will be added. To completely clear a HashSet(Of T) object and release all memory referenced by it, call this method after calling the Clear method.
This method is an O(n) operation, where n is Count.
The following example creates and populates a HashSet(Of T) collection, and then clears the collection and releases the memory referenced by it.
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: { }
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1