C#通用列表,默认大小或供应一

Ice*_*man 4 c# generics

我想知道是否存在差异(在性能,内存节省方面)来定义具有默认大小的列表或指定一个列表.

List<object> m_objects = new List<object>();

or 

List<object> m_objects = new List<object>(100);
Run Code Online (Sandbox Code Playgroud)

如果添加更多项目,两者都会增加一倍,对吧?

谢谢,

SLa*_*aks 9

如果您知道您将拥有超过100个项目,那么第二个项目会更快.

每次"双倍"时,它都需要复制整个现有数组的内容.对于大型列表,这可能很慢.
如果指定容量,则根本不需要调整大小,直到它大于您指定的大小.

如果你永远不会添加超过100个项目,它只会浪费一点内存(特别是IntPtr.Size * (Capacity - Count))