- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以这是我的代码:
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 Arithmetic operation resulted in an overflow."
我该怎么做才能修复它?
最佳答案
您的代码溢出是因为 C# 中数组的最大大小为 Int32.MaxValue
,等于 2147483647。您可以在 source code 中看到相关提示, 并在 documentation 中明确说明:
By default, the maximum size of an Array is 2 gigabytes (GB). In a 64-bit environment, you can avoid the size restriction by setting the enabled attribute of the configuration element (
<gcAllowVeryLargeObjects>
introduced in .NET 4.5) to true in the run-time environment. However, the array will still be limited to a total of 4 billion elements, and to a maximum index of 0X7FEFFFFF (2146435071) in any given dimension (0X7FFFFFC7 (2147483591) for byte arrays and arrays of single-byte structures).
关于c# System.OverflowException 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34548429/
当我不想要它们(或者我认为如此)时,我得到了 OverflowException 抛给我。我正在执行一些奇怪的计算,我希望这些值会溢出,从而丢弃溢出的位。看来我无法让它正常工作。基本上这是一对 i 和
有人可以解释以下行为吗: static void Main(string[] args) { checked { double
我的代码将一个字典作为参数并返回一个字典。 代码计算所有 double 值的总和,并使用总和计算每个值占总和的百分比。它返回一个新的字典,其中百分比连接到键上。 我的 Web 服务器的事件查看器中记录
我有一些用于解析网络响应的类: [DataContract] public abstract class GYResponse { [DataMember(Name = "code")]
我有一个 x64 WinForms 程序,可以与 MySQL 和 ODBC 连接器正常工作。直到一台机器让我更改为 x86,现在我有了这行代码: var someValue = data.GetStr
在向文本框输入负值时,我收到一条错误消息:Unhandled Exception: System.OverflowException: Value was either too large or to
所以这是我的代码: static void Main(string[] args) { Console.WriteLine("How many numbers are you going to
在下面最后一行的方法中,我总是遇到异常: System.OverflowException: Value was either too large or too small for an Int32.
我有一个简单的 Windows 应用程序,文本框在那里。当我在金额文本框中输入金额时,它会将其转换为另一个名为 txtrupees 的文本框中的单词。金额文本框字段最大长度设置为最后 3 位 .00
编写代码后可以归结为以下内容: var size=-1; var arr=new byte[size]; 我很惊讶它抛出一个 OverflowException . OverflowException
转换时double (或 float )到 decimal , 溢出异常是可能的。所以我写了这个小的扩展方法,通过饱和来防止这种情况: public static decimal ToDecimalS
我有一个奇怪的问题。我一直在互联网上搜索一种又好又快的高斯模糊算法。我终于找到了! 所以我所做的就是在一个新项目中尝试它 - 它工作得很好。 当我打算将该类导入到我的主项目中并尝试它时,我得到了一个
我有多个库项目,它们都依赖于支持库。我的应用程序依赖于这些多个库项目。每个库项目都在其 R.java 文件中包含支持库资源的引用。由于冗余,这会增加字段 ID 计数。 我的应用获得了 DexIndex
我在用 Decimal.Round(decimal d) MSDN 说它可以抛出 OverflowException https://msdn.microsoft.com/en-us/library/
也许是一个无用的问题: public static double Average( this IEnumerable source, Func selector ) 上述方法抛出的异常
我正在使用 NHibernate 通过 ODBC 从 Oracle 数据库中选择一个实体。 这在 32 位系统上工作正常,但在 x64 上出现以下错误:似乎行数格式不正确? (ODBC部分) Arit
我有一个包含两个值的整数数组,每个值都是 int32 的最大值: int[] factors = new int[] { 2147483647, 2147483647 }; 我正在尝试获取这两个数字的
我在 C 中有以下代码,它将根据输入的序列号生成 key 。 unsigned int32 passkey(unsigned int32 snumber) { char snstring[11
我不确定我为什么得到它...知道为什么吗? 代码: data[i] = Convert.ToByte(build, 16); 其中 build 是一个 string,其值为 0x255 例如,其他转换
这个问题在这里已经有了答案: Why dividing int.MinValue by -1 threw OverflowException in unchecked context? (3 个回答)
我是一名优秀的程序员,十分优秀!