【发布时间】:2015-11-25 23:12:24
【问题描述】:
在 7.8.3 中。关于余数运算符的 C# 规范中声明如下:
如果左边的操作数是最小的 int 或 long 值,而右边的 操作数为 -1,抛出 System.OverflowException。
因此int.MinValue % -1 将导致溢出异常。我想知道为什么?
【问题讨论】:
-
请注意,在 Java 中,根据规范,结果是
0,而在 C 中,该操作调用未定义的行为。
标签: c# modulus overflowexception