在 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
关于vb.net - 如何在 VB 中定义 64 位常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/485285/