是否存在可以存储在List中的元素的限制?

Han*_*sir 7 .net c# collections ilist

是否存在可以存储在List中的元素的限制?或者你可以保持添加元素直到你内存不足?

Luk*_*keH 20

目前各地List<T>使用的实现- 构建其支持数组,其属性,作为索引器及其所有内部操作 - 因此当前理论上最大的项目(或).Int32 CountInt32.MaxValue2^31-12147483647

但.NET框架的最大对象大小限制为2GB,因此您只能使用单字节项列表(例如List<byte>或)获得项目限制附近的任何位置List<bool>.

实际上,在达到这些限制之前,你可能会耗尽连续的内存.

  • *理论上*这意味着你只能随机访问"Int32.MaxValue"以外的项目,而不是当前有多少元素,*理论上*. (2认同)