在Visual Basic中
Friend Const xxx As UInt64 = 400 * 365 * 24 * 60 * 60 ''// Number of secs in 400 years
这失败了,错误
constant expression not representable in type integer
问题是400*365*24*60*60大于2 ^ 32
我原以为通过将常量声明为UInt64,可以为其分配64位值
除了每年略多于365天(你需要增加97个闰日)的事实之外,每个乘以组成常量的值都是整数文字,因此在你将它们分配给UInt64之前,它是全部在整数空间内完成.试试这个:
Friend Const xxx As UInt64 = 400UL * 365UL * 24UL * 60UL * 60UL