Checked 和 Unchecked(C# 参考)

C# 语句既可以在已检查的上下文中执行,也可以在未检查的上下文中执行。在已检查的上下文中,算法溢出引发异常。在未检查的上下文中,算法溢出被忽略并且结果被截断。

  • checked 指定已检查的上下文。

  • unchecked 指定未检查的上下文。

如果既未指定 checked 也未指定 unchecked,则默认上下文取决于外部因素(如编译器选项)。

下列操作受溢出检查的影响:

  • 表达式在整型上使用下列预定义运算符:

    ++ -- -(一元) + - */**

  • 整型间的显式数字转换。

/checked 编译器选项使你可以为 checkedunchecked 关键字范围内的所有非显式整型算术语句指定已检查或未检查的上下文。

请参阅

C# 参考

C# 编程指南

C# 关键字

语句关键字(C# 参考)