在checked情况下,算法溢出会引起异常。在uncheked情况下,会忽略算法溢出,其结果被截断。如果没有指定,默认情况取决于编译选项。

解决方案 »

  1.   

    checked关键字用于标明需要为一个程序块或者表达式检查算术溢出错误,unchecked关键字则用于标明不需为一个程序块或者表达式检查溢出错误;如果没有指定任何的关键字,则具体方式取决于编译器当前设置(通常设置为unchecked)。下面是一个例子:try
    {
        checked
        {
            short max = 32767; // short类型的最大值
            max ++;
        }
        catch(OverflowException e)
        {
            MessageBox.Show(e.ToString());
        }
    }