一个非常基本的自动扩展列表/数组

Ars*_*nko 0 c# performance stack memory-management data-structures

我有一个方法,它返回一个固定类型对象的数组(让我们说MyObject).

该方法创建一个新的空Stack<MyObject>.然后,它做了一些工作,并推动了一些数字MyObjects到最后Stack.最后,它返回Stack.ToArray().

它不会更改已添加的项目或其属性,也不会删除它们.要添加的元素数量会降低性能.无需对元素进行排序/排序.

Stack是最好用的吗?或者我必须切换到CollectionList确保更好的性能和/或更低的内存成本?

SLa*_*aks 5

Stack<T>不会比任何更快List<T>.

为获得最佳性能,您应使用a List<T>并将其设置为Capacity大于或等于您计划添加的项目数.