美文网首页
checked和unchecked整数运算

checked和unchecked整数运算

作者: bravelion | 来源:发表于2019-10-07 13:21 被阅读0次

作用

C#的int是32位大小。由于int大小固定,它支持的值的范围:-2147483648~2147483647.

如果当前值已经是 2147473647的一个int上加1会发生什么?

1.得到错误值,即溢出,会得到-2148483648这个错误值

2.如果设置溢出检查,会抛出异常

C#提供了checked和unchecked关键字来控制以上行为

checked语句

int number = int.MaxValue;

checked//抛出OverflowException异常

{

    int willThrow = number++;

    Console.WriteLine("永远执行不到这里");

}

unchecked

{

    int wontThrow = number++;

    Console.WriteLine(“会执行到这里");

}

checked表达式

int wontThrow = unchecked(int.MaxValue + 1);//不抛出异常

int willThrow = checked(int.MaxValue + 1);//抛出异常

注意

不能使用checked和unchecked关键字控制浮点(非整数)运算。checked和unchecked关键字只适合int和long等整型运算。

相关文章

网友评论

      本文标题:checked和unchecked整数运算

      本文链接:https://www.haomeiwen.com/subject/dkuupctx.html