Quiero vaciar una lista. ¿Como hacer eso?
.net empty list, esta página aparece antes que MSDN.
Quiero vaciar una lista. ¿Como hacer eso?
.net empty list, esta página aparece antes que MSDN.
Respuestas:
Es muy facil:
myList.Clear();
List<>, ArrayListo implementos IList. ;)
List<T>.Clearborra correctamente todas las referencias, lo que permite que el GC borre las asignaciones cuando sea necesario. new List<T>NO hace esto y es inadecuado en todos los escenarios de manera efectiva
Si por "lista" te refieres a a List<T>, entonces el método Clear es lo que quieres:
List<string> list = ...;
...
list.Clear();
Debería adquirir el hábito de buscar en la documentación de MSDN sobre estas cosas.
A continuación, se explica cómo buscar rápidamente documentación sobre varios bits de ese tipo:
List<T>clase en sí ( aquí es donde debería haber comenzado )Todas estas consultas de Google enumeran un paquete de enlaces, pero normalmente desea el primero que Google le ofrece en cada caso.
Para dar una respuesta alternativa (¿Quién necesita 5 respuestas iguales?):
list.Add(5);
// list contains at least one element now
list = new List<int>();
// list in "list" is empty now
Tenga en cuenta que no se han borrado todas las demás referencias a la lista anterior (dependiendo de la situación, esto podría ser lo que desee). Además, en términos de rendimiento, suele ser un poco más lento.
listtiene una nueva referencia. Así que no uses eso si estás usando un candado en esa lista.
Opción # 1: use la función Clear () para vaciar List<T>y retener su capacidad.
El recuento se establece en 0 y también se liberan las referencias a otros objetos de los elementos de la colección.
La capacidad permanece sin cambios.
Opción n. ° 2: use las funciones Clear () y TrimExcess () para establecer List<T>el estado inicial.
El recuento se establece en 0 y también se liberan las referencias a otros objetos de los elementos de la colección.
Recortar un vacío
List<T>establece la capacidad de la lista en la capacidad predeterminada.
Definiciones
Count = número de elementos que están realmente en elList<T>
Capacidad = número total de elementos que la estructura de datos interna puede contener sin cambiar el tamaño.
Borrar () solamente
List<string> dinosaurs = new List<string>();
dinosaurs.Add("Compsognathus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Deinonychus");
Console.WriteLine("Count: {0}", dinosaurs.Count);
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
dinosaurs.Clear();
Console.WriteLine("\nClear()");
Console.WriteLine("\nCount: {0}", dinosaurs.Count);
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Borrar () y TrimExcess ()
List<string> dinosaurs = new List<string>();
dinosaurs.Add("Triceratops");
dinosaurs.Add("Stegosaurus");
Console.WriteLine("Count: {0}", dinosaurs.Count);
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
dinosaurs.Clear();
dinosaurs.TrimExcess();
Console.WriteLine("\nClear() and TrimExcess()");
Console.WriteLine("\nCount: {0}", dinosaurs.Count);
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
usted puede hacer eso
var list = new List<string>();
list.Clear();