C# 语句既可以在已检查的上下文中执行,也可以在未检查的上下文中执行。在已检查的上下文中,算法溢出引发异常。在未检查的上下文中,算法溢出被忽略并且结果被截断。
如果既未指定 checked 也未指定 unchecked,则默认上下文取决于外部因素(如编译器选项)。
下列操作受溢出检查的影响:
-
表达式在整型上使用下列预定义运算符:
++ — -(一元) + - * /
-
整型间的显式数字转换。
C# 语句既可以在已检查的上下文中执行,也可以在未检查的上下文中执行。在已检查的上下文中,算法溢出引发异常。在未检查的上下文中,算法溢出被忽略并且结果被截断。
如果既未指定 checked 也未指定 unchecked,则默认上下文取决于外部因素(如编译器选项)。
下列操作受溢出检查的影响:
表达式在整型上使用下列预定义运算符:
++ — -(一元) + - * /
整型间的显式数字转换。