Ste*_*idi 20

这些是在结果数值运算中检查(或不检查)溢出的运算符.在checked情况下,OverflowException如果操作的结果超过所允许的数据类型的最小值或最大值异常.

有关更多信息,请访问MSDN.

  • 使用选中或未选中的实际原因是什么? (3认同)

Ran*_*pho 10

它控制整数操作的溢出检查.


kem*_*002 7

如果a + b大于数据类型的最大值,则checked将抛出异常.未选中将滚动值的溢出并将其添加到零.

  • 如果a + b小于数据类型的最小值,则会发生同样的情况,例如`a = b = int.MinValue` :) (2认同)

SwD*_*n81 6

语言规范对不同的好文章.

checked和unchecked运算符用于控制整数类算术运算和转换的溢出检查上下文.

class Test
{
   static readonly int x = 1000000;
   static readonly int y = 1000000;
   static int F() {
      return checked(x * y);      // Throws OverflowException
   }
   static int G() {
      return unchecked(x * y);   // Returns -727379968
   }
   static int H() {
      return x * y;               // Depends on default
   }
}
Run Code Online (Sandbox Code Playgroud)