HashSet<T>.TrimExcess Méthode

Définition

Surcharges

TrimExcess()

Définit la capacité d’un objet HashSet<T> sur le nombre réel d’éléments qu’il contient, arrondi à une valeur spécifique à l’implémentation proche.

TrimExcess(Int32)

Définit la capacité d’un objet HashSet<T> sur le nombre spécifié d’entrées, arrondie à une valeur spécifique à l’implémentation à proximité.

TrimExcess()

Source:
HashSet.cs
Source:
HashSet.cs
Source:
HashSet.cs

Définit la capacité d’un objet HashSet<T> sur le nombre réel d’éléments qu’il contient, arrondi à une valeur spécifique à l’implémentation proche.

C#
public void TrimExcess();

Exemples

L’exemple suivant crée et remplit une collection HashSet<T>, puis efface la collection et libère la mémoire référencée par celui-ci.

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

Remarques

Vous pouvez utiliser la méthode TrimExcess pour réduire la surcharge mémoire d’un objet HashSet<T> une fois qu’il est connu qu’aucun nouvel élément ne sera ajouté. Pour effacer complètement un objet HashSet<T> et libérer toute la mémoire référencée par celui-ci, appelez cette méthode après avoir appelé la méthode Clear.

Cette méthode est une opération O(n), où n est Count.

S’applique à

.NET 10 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

TrimExcess(Int32)

Source:
HashSet.cs

Définit la capacité d’un objet HashSet<T> sur le nombre spécifié d’entrées, arrondie à une valeur spécifique à l’implémentation à proximité.

C#
public void TrimExcess(int capacity);

Paramètres

capacity
Int32

Nouvelle capacité.

Exceptions

La capacité spécifiée est inférieure au nombre d’entrées.

S’applique à

.NET 10 et .NET 9
Produit Versions
.NET 9, 10