How to empty a list in C#?
Solution 1:
It's really easy:
myList.Clear();
Solution 2:
If by "list" you mean a List<T>
, then the Clear method is what you want:
List<string> list = ...;
...
list.Clear();
You should get into the habit of searching the MSDN documentation on these things.
Here's how to quickly search for documentation on various bits of that type:
-
List Class - provides the
List<T>
class itself (this is where you should've started) - List.Clear Method - provides documentation on the method Clear
- List.Count Property - provides documentation on the property Count
All of these Google queries lists a bundle of links, but typically you want the first one that google gives you in each case.
Solution 3:
Option #1: Use Clear() function to empty the List<T>
and retain it's capacity.
Count is set to 0, and references to other objects from elements of the collection are also released.
Capacity remains unchanged.
Option #2 - Use Clear() and TrimExcess() functions to set List<T>
to initial state.
Count is set to 0, and references to other objects from elements of the collection are also released.
Trimming an empty
List<T>
sets the capacity of the List to the default capacity.
Definitions
Count = number of elements that are actually in the List<T>
Capacity = total number of elements the internal data structure can hold without resizing.
Clear() Only
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);
Clear() and 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);