您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

system.int32.MaxValue

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

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

完全不同的是,如果您担心这一点,很可能您正在使用 大量 数据,无论是正确还是不正确。在这种情况下,我会考虑使用aList<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>,它将提供比您可能想到的更多的潜在元素。

其他 2022/1/1 18:14:10 有482人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶