【发布时间】:2010-07-16 16:18:42
【问题描述】:
为什么在 C# 中 Example A 是有效的、可编译的并且只会包装而示例 B 不会编译?
一个
int val = 0;
val = val + Int32.MaxValue +2;
或
int val = Int32.MaxValue;
val++;
B
int val = 0;
val = 2147483647 + 1;
或
int val = 0;
int val = Int32.MaxValue + 1;
我知道默认情况下不会检查算术异常,除非您在配置中使用检查的方法、块或属性明确这样做。我的问题更多地与编译器有关,然后是算术异常是如何发生的。
【问题讨论】:
-
我认为您在发布问题时错过了一些东西。 “我的问题更多地涉及________”之后是什么?
标签: c# integer-overflow