一尘不染

列表中数据的最大限制是多少 在C#中?

c#

我可以在列表中添加多少个值?

例如:

List<string> Item = runtime data

数据大小不固定。可能是10000或超过1000000。我已经用Google搜索,但是没有找到确切的答案。


阅读 923

收藏
2020-05-19

共1个答案

一尘不染

List<T>理论上讲,当前实现中可以存储的最大元素数量Int32.MaxValue-刚好超过20亿。

在当前的CLR的Microsoft实现中,最大对象大小限制为2GB。(其他实现(例如Mono)可能没有此限制。)

您的特定列表包含字符串,它们是引用类型。引用的大小将为4或8个字节,具体取决于您是在32位还是64位系统上运行。这意味着您可以存储的字符串数的实际限制在32位上约为5.36亿,在64位上约为2.68亿。

实际上,在达到这些限制之前,您很可能会用完可分配的内存,尤其是在32位系统上运行时。

2020-05-19