checked和unchecked关键字用法总结
首先,.NET运行时的默认行为是忽略运算溢出。
当只需要对部分代码进行溢出检测时,可以把该部分代码放入checked{}内,即可。
当需要项目级别的溢出检测时,可以设置项目的属性中的生成->高级->检测运算上溢/下溢。
如果在设置项目级别的溢出检测的前提下,有部分代码是可以忽略运算溢出,此时可以
把这部分代码放入unchecked{}中,则表示该段代码的溢出是可以接受的。
简要说明一下checked用法:
如果我们使用了些命令或关键字,则C#编译器会使用额外的CIL指令来测试在将两个数值数据类型相加,相乘,相减
和相除时可能产生的溢出情况。
如果发生了溢出,则会得到一个运行异常:System.OverflowException。 其可和try catch联合使用来捕捉异常,进而
进入下一步处理。