checked和unchecked关键字用法总结

首先,.NET运行时的默认行为是忽略运算溢出。

当只需要对部分代码进行溢出检测时,可以把该部分代码放入checked{}内,即可。

当需要项目级别的溢出检测时,可以设置项目的属性中的生成->高级->检测运算上溢/下溢。

如果在设置项目级别的溢出检测的前提下,有部分代码是可以忽略运算溢出,此时可以

把这部分代码放入unchecked{}中,则表示该段代码的溢出是可以接受的。

 

简要说明一下checked用法:

如果我们使用了些命令或关键字,则C#编译器会使用额外的CIL指令来测试在将两个数值数据类型相加,相乘,相减

和相除时可能产生的溢出情况。

如果发生了溢出,则会得到一个运行异常:System.OverflowException。 其可和try catch联合使用来捕捉异常,进而

进入下一步处理。

posted @ 2012-04-26 18:38  rarry  阅读(457)  评论(0编辑  收藏  举报