我有一个列表,应该在交互式应用程序的每一帧中将其完全删除一次。
我一开始就保留了10.000个项目的容量,以避免一个接一个地添加项目的开销。
然后我要删除所有它们。显然使用Clear()会将Capacity设置为0。是吗?那我该如何保持容量?
答案 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()
。如果您使用的是更奇特的工具,则需要具体说明目标框架。