El método List<T>.TrimExcess se usa para establecer la capacidad en el número real de elementos en List<T>, si ese número es menor que un valor de umbral.
Sintaxis:
public void TrimExcess ();
Nota:
- Este método se puede usar para minimizar la sobrecarga de memoria de una colección si no se agregarán nuevos elementos a la colección.
- Para restablecer List<T> a su estado inicial, llame al método Clear antes de llamar al método TrimExcess.
- Recortar una List<T> vacía establece la capacidad de List<T> en la capacidad predeterminada.
- Sin embargo, el costo de reasignar y copiar una List<T> grande puede ser considerable, por lo que el método TrimExcess no hace nada si la lista está a más del 90 por ciento de su capacidad. Esto evita incurrir en un gran costo de reasignación por una ganancia relativamente pequeña.
- Este método es una operación O(n), donde n es Count.
Los siguientes programas ilustran el uso del método List<T>.TrimExcess :
Ejemplo 1:
// C# code to set the capacity to the // actual number of elements in the List using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a List of strings List<string> mylist = new List<string>(); // Inserting elements into List mylist.Add("1"); mylist.Add("2"); mylist.Add("3"); mylist.Add("4"); mylist.Add("5"); // To display the capacity of list Console.WriteLine(mylist.Capacity); // To display number of elements in List Console.WriteLine(mylist.Count); // using TrimExcess method mylist.TrimExcess(); // To display the capacity of list Console.WriteLine(mylist.Capacity); // To display number of elements in List Console.WriteLine(mylist.Count); } }
Producción:
8 5 5 5
Ejemplo 2:
// C# code to set the capacity to the // actual number of elements in the List using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a List of integers List<int> mylist = new List<int>(); // Inserting elements into List mylist.Add(45); mylist.Add(78); mylist.Add(32); mylist.Add(231); mylist.Add(123); mylist.Add(76); mylist.Add(726); mylist.Add(716); mylist.Add(876); // To display the capacity of list Console.WriteLine(mylist.Capacity); // To display number of elements in List Console.WriteLine(mylist.Count); // using TrimExcess method mylist.TrimExcess(); // To display the capacity of list Console.WriteLine(mylist.Capacity); // To display number of elements in List Console.WriteLine(mylist.Count); // using clear method mylist.Clear(); // To display the capacity of list Console.WriteLine(mylist.Capacity); // To display number of elements in List Console.WriteLine(mylist.Count); } }
Producción:
16 9 9 9 9 0
Referencia:
Publicación traducida automáticamente
Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA