1、指定代码块使用checked检查数据溢出
1)checked
{
int aa = int.MaxValue;
int bb = aa+ 1;
}
可以看到代码会提示System.OverflowException:“算术运算导致溢出。”
2)
private void TestDataOverflow()
{
int a = int.MaxValue ;
int b = a + 1;
}
checked
{
TestDataOverflow();
}
不会看到代码提示算术运算溢出,因为溢出的地方又属于另一个代码块了。
2、对程序中所有地方都进行检查数据溢出
勾选即可,属性-》生成-》高级-》检查算术溢出/下溢
3、强制不对代码块进行数据溢出检查
unchecked
{
int aa = int.MaxValue;
int bb = aa + 1;
}
这样,即使在编译器中设置了要进行溢出检查,但是由于 unchecked指定了不对代码块中的内容进行检查,所以也不会报错。