为什么说C#中的Array分配的内存是连续的,List分配的是不连续的?

经常听人说C#中的Array分配的内存是连续的,List分配的是不连续的,为什么呢?
List实现也是由Array存储的数据呀,为什么会有这个说法?这个说法对吗?
感谢各位大佬!!!

阅读 5.3k
2 个回答

如果你说的是 System.Collections.Generic.List<T> 的话,那肯定是连续的。

文档原文:It implements the IList<T> generic interface by using an array whose size is dynamically increased as required.

听谁说的?

扩容过程中倒是可能某个瞬间是不连续的,但扩容结束了一定是连续的 Array 了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进