C# 的List 和arrayList的底层扩容机制

总体描述:List或者ArrayList 在初始时给出4的默认长度,超出后以2倍的方式扩容;超过0X7FEFFFFF后 会以最大值为长度  但是看.Net源码 如果此时max还小于需求长度 会把长度设为 需求长度;

代码测试:

C# 的List 和arrayList的底层扩容机制

输出结果:

C# 的List 和arrayList的底层扩容机制

.NET 源码摘取

1.增加元素时判断容量

C# 的List 和arrayList的底层扩容机制

2.扩容机制

C# 的List 和arrayList的底层扩容机制