编译器错误 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());
}
}