fro*_*die 5 vb.net constants dynamic
我试图在程序执行开始时将时间戳保存为常量,以便在整个程序中使用.例如:
Const TIME_STAMP = Format(Now(), "hhmm")
Run Code Online (Sandbox Code Playgroud)
但是,此代码会生成编译器错误 - "需要常量表达式".这是否意味着VB .NET中的所有常量必须包含平坦,静态,硬编码的数据?我知道可以在其他语言(例如Java)中使用动态值初始化常量 - 使其成为常量的是在初始赋值之后您无法再更改它.VB .NET中有相同的东西吗?
您需要创建它Shared Readonly而不是Const- 后者仅适用于编译时常量.Shared Readonly仍然会阻止任何人改变价值.
Java实际上并没有这样的概念Const- 它只是在static final值实际上是编译时常量时发现的.
您正在寻找的是readonly关键字.时间戳必须在运行时计算,并且不能是常量.
ReadOnly TIME_STAMP As String = Format(Now(), "hhmm")
Run Code Online (Sandbox Code Playgroud)