已声明的元素名称 (Visual Basic)
每个已声明的元素都有一个名称(也称为“标识符”),代码使用该名称来引用该元素。
规则
Visual Basic 中的元素名称必须遵循以下规则:
必须以字母字符或下划线开头 (
_
)。只能包含字母字符、十进制数字和下划线。
必须包含至少一个字母字符或一个十进制数字(如果以下划线开头)。
长度不得超过 1023 个字符。
1023 个字符的长度限制同样适用于完全限定名称(如 outerNamespace.middleNamespace.innerNamespace.thisClass.thisElement
)的整个字符串。
下面的示例显示了一些有效的元素名称。
aB123__45
_567
下面的示例显示了一些无效的元素名称。 第一个仅包含下划线,第二个以十进制数字开头,第三个则包含无效字符 ($)。
' Three INVALID element names
_
12ABC
xyz$wv
注意
以下划线 (_
) 开头的元素名称不属于语言独立性和与语言无关的组件 (CLS),因此符合 CLS 的代码不能使用定义此类名称的组件。 但是,下划线位于元素名称中的任何其他位置则符合 CLS。
名称长度准则
在实际情况下,名称应尽可能简短,同时仍能清楚地标识元素的性质。 这可以提高代码的可读性,并减少行长度和源文件大小。
但是,名称也不应太短,导致无法充分描述清楚元素所表示的内容以及代码如何使用它。 这对于代码的可读性非常重要。 如果其他人尝试理解该名称,或者你在写完很长时间之后再去看,适当的元素名称可以节省大量时间。
转义名称
通常,元素名称不能与 Visual Basic 保留的任何关键字(如 Case
或 Friend
)匹配。 但是,你可以定义一个“转义名称”,该名称由括号 ([ ]
) 括起来。 转义名称可以匹配任何 Visual Basic 关键字,因为括号可以消除任何歧义。 稍后在代码中引用名称时也会用到括号。
通常,仅在以下情况下使用转义名称:
代码从以前的 Visual Basic 版本迁移,该版本未保留用作名称的关键字;或
你使用的是以另一种语言编写的代码,且未在其中保留给定的关键字。
否则,如果元素的名称与关键字冲突,则应考虑重命名该元素。 集成开发环境 (IDE) 提供了一种实现此目的的简单方法。 有关详细信息,请参阅重构。
名称是否区分大小写
Visual Basic 中的元素名称不区分大小写。 这意味着,当编译器对仅字母大小写不同的两个名称进行比较时,会将它们解释为相同的名称。 例如,它认为 ABC
和 abc
指的是同一个声明的元素。
但是,公共语言运行时 (CLR) 使用 区分大小写 绑定。 因此,当你生成程序集或 DLL 并使其可供其他程序集使用时,则名称将不再不区分大小写。 例如,如果你用名为 ABC
的元素定义类,而其他程序集通过公共语言运行时使用你的类,则元素必须指的是 ABC
。 如果你以后重新编译你的类并将元素名称更改为 abc
,则使用你的类的其他程序集将不能再访问此元素。 因此,发布程序集的更新版本时,不应该更改公共元素的字母大小写。
名称和区域设置
名称比较与区域设置无关。 如果两个名称在一个区域设置中匹配,则可保证它们在所有区域设置中都匹配。