已选中且未选中

C#语句在已检查或未检查的上下文中执行。在已检查的上下文中,算术溢出会引发异常。在未经检查的上下文中,将忽略算术溢出并截断结果。

short m = 32767;   
short n = 32767;
int result1 =  checked((short)(m + n));   //will throw an OverflowException
int result2 =  unchecked((short)(m + n)); // will return -2

如果这两个都未指定,则默认上下文将依赖于其他因素,例如编译器选项。