当我尝试创建以下变量时:
UInt64 mod32 = (UInt64)(UInt32.MaxValue + 1);
,出现以下错误:'The operation overflows at compile time in checked mode
'
如何解决/忽略此问题?
答案 0 :(得分:4)
您应该执行以下操作:
UInt64 mod32 = UInt32.MaxValue + (UInt64)1;
执行(UInt64)(UInt32.MaxValue + 1)
时,程序将首先尝试执行UInt32.MaxValue + 1
,这是导致错误的原因,然后将其强制转换为UInt64
。