如何清空C#中的列表?

我想清空一个列表。 怎么做?

这很简单:

 myList.Clear(); 

如果通过“list”表示List<T> ,那么Clear方法就是你想要的:

 List<string> list = ...; ... list.Clear(); 

你应该养成在这些东西上searchMSDN文档的习惯。

以下是如何快速search关于该types各种位的文档:

  • List类 – 提供List<T>类本身( 这是你应该开始的地方
  • List.Clear方法 – 提供Clear方法的文档
  • List.Count属性 – 提供有关属性Count的文档

所有这些Google查询都列出了一系列链接,但通常情况下,您需要Google提供的第一个链接。

你可以做到这一点

 var list = new List<string>(); list.Clear(); 

您可以使用清除方法

 List<string> test = new List<string>(); test.Clear(); 

选项#1:使用Clear()函数清空List<T>并保留其容量。

  • 计数设置为0,同时释放集合元素中其他对象的引用。

  • 容量保持不变。

选项2 – 使用Clear()和TrimExcess()函数将List<T>设置为初始状态。

  • 计数设置为0,同时释放集合元素中其他对象的引用。

  • 修剪空的List<T>List<T>的容量设置为默认容量。

定义

Count =实际在List<T>的元素数量

容量 =内部数据结构在不resize的情况下可以容纳的元素总数。

清除()只

 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()和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); 

你需要列表中的Clear()函数,像这样。

 List<object> myList = new List<object>(); myList.Add(new object()); // Add something to the list myList.Clear() // Our list is now empty 

给出一个替代答案(谁需要5个相同的答案?):

 list.Add(5); // list contains at least one element now list = new List<int>(); // list in "list" is empty now 

请记住,所有其他的旧名单引用还没有被清除(取决于情况,这可能是你想要的)。 另外,就性能而言,通常会慢一些。