已声明的元素名称 (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 保留的任何关键字(如 CaseFriend)匹配。 但是,你可以定义一个“转义名称”,该名称由括号 ([ ]) 括起来。 转义名称可以匹配任何 Visual Basic 关键字,因为括号可以消除任何歧义。 稍后在代码中引用名称时也会用到括号。

通常,仅在以下情况下使用转义名称:

  • 代码从以前的 Visual Basic 版本迁移,该版本未保留用作名称的关键字;或

  • 你使用的是以另一种语言编写的代码,且未在其中保留给定的关键字。

否则,如果元素的名称与关键字冲突,则应考虑重命名该元素。 集成开发环境 (IDE) 提供了一种实现此目的的简单方法。 有关详细信息,请参阅重构

名称是否区分大小写

Visual Basic 中的元素名称不区分大小写。 这意味着,当编译器对仅字母大小写不同的两个名称进行比较时,会将它们解释为相同的名称。 例如,它认为 ABCabc 指的是同一个声明的元素。

但是,公共语言运行时 (CLR) 使用 区分大小写 绑定。 因此,当你生成程序集或 DLL 并使其可供其他程序集使用时,则名称将不再不区分大小写。 例如,如果你用名为 ABC的元素定义类,而其他程序集通过公共语言运行时使用你的类,则元素必须指的是 ABC。 如果你以后重新编译你的类并将元素名称更改为 abc,则使用你的类的其他程序集将不能再访问此元素。 因此,发布程序集的更新版本时,不应该更改公共元素的字母大小写。

名称和区域设置

名称比较与区域设置无关。 如果两个名称在一个区域设置中匹配,则可保证它们在所有区域设置中都匹配。

另请参阅