如何在不减少C#列表容量的情况下减少计数

时间:2019-05-22 09:29:39

标签: c# list count capacity

我有一个列表,应该在交互式应用程序的每一帧中将其完全删除一次。

我一开始就保留了10.000个项目的容量,以避免一个接一个地添加项目的开销。

然后我要删除所有它们。显然使用Clear()会将Capacity设置为0。是吗?那我该如何保持容量?

1 个答案:

答案 0 :(得分:2)

Clear()不会重置容量:

var list = new List<int>(500);
list.Add(42);
list.Clear();
Console.WriteLine(list.Count); // 0
Console.WriteLine(list.Capacity); // 500

(至少不是在常规.NET Framework / .NET Core上)。因此:只需致电Clear()。如果您使用的是更奇特的工具,则需要具体说明目标框架。