C#-checked & unchecked
checked 关键字用于对整型算数运算和转换显示启用溢出检查。
以下代码如果不加checked关键字,运行时不会抛出异常。
unchecked 关键字用于取消整型算术运算和转换的溢出检查。因为溢出检查比较耗时,所以当无溢出危险时,使用不检查的代码可以提高性能。但是,如果可能发生溢出,则应使用检查环境。
以下代码不加unchecked关键字,再编译时出现错误。
加上unchecked关键字后,编译通过。
也可以通过VS界面设置
像Convert.ToInt32(val)类似这样的方法总是要做溢出检查。