Я хочу спорожнити список. Як це зробити?
.net empty list, ця сторінка виходить перед MSDN!
Я хочу спорожнити список. Як це зробити?
.net empty list, ця сторінка виходить перед MSDN!
Відповіді:
Це дуже просто:
myList.Clear();
List<>, ArrayListабо знаряддя IList. ;)
List<T>.ClearНалежно очищає всі посилання, що дозволяє GC очищати сплави, коли це необхідно. new List<T>НЕ робить цього і не підходить ефективно для всіх сценаріїв
Якщо під "списком" ви маєте на увазі "а" List<T>, тоді метод " Очистити" - це те, що ви хочете:
List<string> list = ...;
...
list.Clear();
Вам слід ввійти в звичку шукати документацію MSDN щодо цих речей.
Ось як швидко шукати документацію на різні біти цього типу:
List<T>клас ( саме тут ви повинні почати )Усі ці запити Google містять список посилань, але зазвичай ви хочете перше, що надає Google у кожному випадку.
Щоб дати альтернативну відповідь (Кому потрібно 5 рівних відповідей?):
list.Add(5);
// list contains at least one element now
list = new List<int>();
// list in "list" is empty now
Майте на увазі, що всі інші посилання на старий список не були очищені (залежно від ситуації, це може бути те, що ви хочете). Також з точки зору продуктивності це, як правило, трохи повільніше.
listце нове посилання. Тому не використовуйте це, якщо ви використовуєте блокування у цьому списку.
Варіант №1: Використовуйте функцію Clear (), щоб спорожнити List<T>та зберегти її ємність.
Кількість встановлена на 0, а також видаються посилання на інші об'єкти з елементів колекції.
Ємність залишається незмінною.
Варіант №2 - Використовуйте функції Clear () та TrimExcess () для встановлення List<T>початкового стану.
Кількість встановлена на 0, а також видаються посилання на інші об'єкти з елементів колекції.
Обрізання порожнього
List<T>встановлює ємність списку за замовчуванням.
Визначення
Count = кількість елементів, які є насправді вList<T>
Ємність = загальна кількість елементів, яку внутрішня структура даних може вмістити без зміни розміру.
Очистити () Тільки
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);
Очистити () і 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);
ти можеш це зробити
var list = new List<string>();
list.Clear();
Вам потрібна функція Clear () у списку, як-от так.
List<object> myList = new List<object>();
myList.Add(new object()); // Add something to the list
myList.Clear() // Our list is now empty