疑问

List<string> name = new List<string>(5);

其中数字5 有作用吗?(capacity的计算原理)

定义的5影响的是capacity的值,在定义完后,name的capacity值为0,

当添加一个元素时,会向系统申请5个内存,

继续添加元素,当元素个数超过五时,会在申请5个内存,

capacity时list的容量,所以这是此时capacity的值是10,

继续添加元素,当元素个数超过10 时,会在申请10个内存,此时capacity*2;

。。。。

每次申请,capacity的值都*2.

*当定义list时如果没有规定capacity的首次申请值,list会向系统申请4个内存。

原文地址:https://www.cnblogs.com/excellencesy/p/8325106.html