美文网首页
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