使用英语阅读

通过


编译器错误 CS0220

在 checked 模式下,运算在编译时溢出

checked(这是常数表达式的默认值)检测到一个操作,结果导致数据丢失。 更正赋值的输入或使用 未检查 来解决此错误。 有关详细信息,请参阅 checked 和 unchecked 语句一文。

以下示例生成 CS0220:

// CS0220.cs  
using System;  
  
class TestClass  
{  
   const int x = 1000000;  
   const int y = 1000000;  
  
   public int MethodCh()  
   {  
      int z = (x * y);   // CS0220  
      return z;  
   }  
  
   public int MethodUnCh()  
   {  
      unchecked  
      {  
         int z = (x * y);  
         return z;  
      }  
   }  
  
   public static void Main()  
   {  
      TestClass myObject = new TestClass();  
      Console.WriteLine("Checked  : {0}", myObject.MethodCh());  
      Console.WriteLine("Unchecked: {0}", myObject.MethodUnCh());  
   }  
}