vb.net - 如何在 VB 中定义 64 位常量?

标签 vb.net constants

在 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/

相关文章:

.net - 使用 Context.RewritePath 重写到不同的域

c# - VB.Net 相当于 C# 中的 ^ 运算符

使用指针更改 const int 的值

c++ - 适配器模式 : support underlying data that can be const or non-const, 优雅

sql - 在 SQL 查询中匹配第一个字母的文本字符串

C# 到 VB.NET 数组初始化

c - 有没有办法在 C 中将数字范围定义为常量?

ios - let (constant) 表现得像一个函数的语法。你可以解释吗?

vb.net - 在VB.NET中如何循环直到用户输入的变量为整数?

c - 原因 main-C 不是 const