VB.Net中的只读局部变量

mcj*_*erz 7 vb.net variables syntax

这是一个非常简单的问题,我很惊讶我不得不问它但是......

如何在VB.Net中声明一个只读局部变量?

Java和C++有final/const局部变量,所以我确定VB.Net必须有它们,但我找不到它的语法.

And*_*are 8

不幸的是,VB.NET只支持readonly 字段而不是readonly locals.VB.NET没有像C++的const修饰符那样将变量标记为只读.

根据变量的类型,Const修饰符可能会完成这项工作,但它并不意味着与C++相同const.在VB.NET中,Const它只是一个变量,其值在编译时是已知的,因此允许编译器用值本身替换源代码中该变量的所有用法.

虽然编译器会阻止您修改Const变量,但是您可以标记的类型的选项受到严格限制,Const因为大多数类型在编译时无法提供已知值.

  • 我也想看到这个概念。然而,我实际上更希望 _all_ locals 是隐式只读的,并且只有通过特殊的修饰符(如 F# 的 `mutable`)才能在初始化后更改变量。 (3认同)