如果您将以下代码放入.NET 4.5应用程序中:
生成编译器错误,指出“在检查模式下,在编译时发生溢出操作”。我知道我可以将此放入“未经检查的”块中并且没有问题,但我的问题是为什么首先会出现错误?显然,long可以容纳int的最大值加一。
请注意,使用Int32和Int64而不是long和int似乎没有帮助。
public const long MAXIMUM_RANGE_MAGNITUDE = int.MaxValue + 1;
生成编译器错误,指出“在检查模式下,在编译时发生溢出操作”。我知道我可以将此放入“未经检查的”块中并且没有问题,但我的问题是为什么首先会出现错误?显然,long可以容纳int的最大值加一。
请注意,使用Int32和Int64而不是long和int似乎没有帮助。