可能重复: 默认情况下,为什么语言不会引发整数溢出错误?
为什么C#默认不使用算术溢出检查?
我认为发生异常通常会更好,这样就不会模糊错误.我知道利用发生的"包装"行为偶尔会有用,但unchecked在这些情况下可以使用关键字来明确意图.
unchecked
我希望这个决定是故意做出的,也许是为了增加与其他基于C语言的兼容性.
c# math overflow checked
c# ×1
checked ×1
math ×1
overflow ×1