HashSet(Of T).TrimExcess Method ()

 
System_CAPS_noteNote

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.

Namespace:   System.Collections.Generic
Assembly:  System.Core (in System.Core.dll)

Public Sub TrimExcess

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: { }

Universal Windows Platform
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
Return to top
Show: