具有Resize()vs List的数组

时间:2015-05-16 20:52:45

标签: c# arrays performance list

在C#中,内部列表封装了Array.In两种数据结构中我们都可以使用索引访问元素。 List<T>等于Array[T]并支持添加/删除项目。

如果列表的容量已满,则将创建大小等于2 *容量的内部新数组,并将所有元素移动到新数组。这是真的吗?

如果为true,则数组和列表的大小会动态增加。 使用List<T>优于Array[T]Array.Resize(ref myArray, 2*size);相比有什么好处?

1 个答案:

答案 0 :(得分:0)

这里有很多变量,一个好的经验法则是,如果阵列长时间保持其当前大小,则阵列可能更合适。但是,在大多数情况下,集合是瞬态的,列表将表现得更好,因为数组必须在内存中找到连续的空间来创建它。我想说,虽然任何性能优化的最佳方法是测量和优化实际发现问题的位置。过早优化往往是浪费时间。