为什么C#数组仍然限制在约21亿个元素

时间:2019-04-14 15:31:35

标签: c# arrays limit dimensions gcallowverylargeobjects

.Net 4.5中引入了gcAllowVeryLargeObjects,以允许64位系统的阵列大小大于2gb。但是,数组(现在仍然)被限制为〜42亿个元素和任何维度上的〜21亿个元素。为什么?

是否没有兴趣或实际问题阻止他们在.Net核心类(数组,列表等)中使用字大小的索引器?

C#已经允许自定义类中的长类型索引器,并且将索引器从int更改为long以进行64位构建将是不间断的(我相信),因为int始终可以转换为long。

1 个答案:

答案 0 :(得分:0)

因为数组索引是整数,并且C#中的int类型具有最大值。