HashSet<T>.TrimExcess HashSet<T>.TrimExcess HashSet<T>.TrimExcess HashSet<T>.TrimExcess Method

Définition

Affecte à la capacité d'un objet HashSet<T> le nombre réel d'éléments qu'il contient, arrondi à une valeur proche spécifique à l'implémentation.Sets the capacity of a HashSet<T> object to the actual number of elements it contains, rounded up to a nearby, implementation-specific value.

public:
 void TrimExcess();
public void TrimExcess ();
member this.TrimExcess : unit -> unit
Public Sub TrimExcess ()

Exemples

L’exemple suivant crée et remplit une HashSet<T> collection, puis efface la collection et libère la mémoire référencée par celle-ci.The following example creates and populates a HashSet<T> collection, and then clears the collection and releases the memory referenced by it.

static void Main()
{
    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);

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

Remarques

Vous pouvez utiliser la TrimExcess méthode pour réduire la HashSet<T> surcharge de mémoire d’un objet une fois que vous savez qu’aucun nouvel élément ne sera ajouté.You can use the TrimExcess method to minimize a HashSet<T> object's memory overhead once it is known that no new elements will be added. Pour effacer complètement un HashSet<T> objet et libérer toute la mémoire référencée par celui-ci, appelez cette méthode Clear après avoir appelé la méthode.To completely clear a HashSet<T> object and release all memory referenced by it, call this method after calling the Clear method.

Cette méthode est une opération On(), où n est Count.This method is an O(n) operation, where n is Count.

S’applique à