为什么在 C# 中示例 A 是有效的、可编译的并且只会包装而示例 B 不会编译?
一种
int val = 0;
val = val + Int32.MaxValue +2;
或者
int val = Int32.MaxValue;
val++;
乙
int val = 0;
val = 2147483647 + 1;
或者
int val = 0;
int val = Int32.MaxValue + 1;
我知道默认情况下不会检查算术异常,除非您在配置中使用检查的方法、块或属性明确这样做。我的问题更多地与编译器有关,然后是算术异常是如何发生的。