栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

阵列可以容纳的最大大小是多少?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

阵列可以容纳的最大大小是多少?

System.Int32.MaxValue

假设您的意思是

System.Array
,即。任何通常定义的数组(
int[]
,等)。这是数组可以容纳的最大值数。每个值的大小仅受可容纳它们的内存或虚拟内存的数量限制。

强制执行此限制是因为

System.Array
使用
Int32
as作为索引器,因此只能使用有效的an值
Int32
。最重要的是,只能使用正值(即
>=0
)。这意味着数组大小的绝对最大上限是的值的绝对最大上限
Int32
,可用
Int32.MaxValue
等于2 ^ 31或大约20亿。

完全不同的是,如果您担心这一点,很可能您正在使用 大量 数据,无论是正确还是不正确。在这种情况下,我会考虑使用a

List<T>
而不是数组,以便您仅使用所需的内存。实际上,我建议您
List<T>
始终使用一种或另一种通用集合类型。这意味着只会分配您实际使用的内存,但是您可以像使用普通数组那样使用它。

note的另一个集合是

Dictionary<int,T>
您也可以像普通数组一样使用,但是只会稀疏地填充。例如,在下面的代码中,将仅创建一个元素,而不是数组将创建的1000个元素:

Dictionary<int, string> foo = new Dictionary<int, string>();foo[1000] = "Hello world!";Console.WriteLine(foo[1000]);

使用

Dictionary
还可以控制索引器的类型,并允许使用负值。对于绝对最大的稀疏数组,可以使用
Dictionary<ulong,T>
,它将提供比您可能想到的更多的潜在元素。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369772.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号