当前位置:  开发笔记 > 编程语言 > 正文

c#System.OverflowException

如何解决《c#System.OverflowException》经验,为你挑选了1个好方法。

所以这是我的代码:

static void Main(string[] args)
{
    Console.WriteLine("How many numbers are you going to enter?");

    long num = long.Parse(Console.ReadLine());

    long[] nums = new long[num];
}

当我为"num"输入10000000000时,我得到了

"System.OverflowException算术运算导致溢出."

我该怎么做才能解决这个问题?



1> Yuval Itzcha..:

您的代码溢出是因为C#中数组的最大大小Int32.MaxValue等于2147483647.您可以在源代码中看到该提示的提示,并在文档中明确说明:

默认情况下,阵列的最大大小为2千兆字节(GB).在64位环境中,可以通过在运行时环境中将配置元素的启用属性(在.NET 4.5中引入)设置为true 来避免大小限制.但是,阵列仍将限制为总共40亿个元素,并且在任何给定维度(0X7FFFFFC7(2147483591)中对于字节数组和单字节结构数组的最大索引为0X7FEFFFFF(2146435071)).

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有