更新:2007 年 11 月
使用 Structure 语句 语句作为结构声明的开始,并使用 EndEnd 语句作为结构声明的结束。在这两条语句之间必须至少声明一个“元素”。元素可以是任何数据类型,但是至少一个必须是非共享变量,或是非共享非自定义事件。
不能在结构声明中初始化任何结构元素。如果将一个变量声明为结构类型,则可以通过变量访问元素来给它们赋值。
关于结构和类之间的差异的讨论,请参见 结构和类。
为演示需要,考虑一种情况:跟踪雇员的姓名、电话分机和薪金。结构允许在单个变量中实现。
声明一个结构
- 创建结构的开始和结束语句。 - 可以使用 Public (Visual Basic)、Protected (Visual Basic)、Friend (Visual Basic) 或 Private (Visual Basic) 关键字指定结构的访问级别,或者使用默认值 Public。 - Private Structure employee End Structure
- 向结构体添加元素。 - 结构必须具有至少一个元素。必须声明结构的每个元素并指定其访问级别。如果使用不含任何关键字的 Dim 语句 (Visual Basic),则可访问性默认值为 Public。 - Private Structure employee Public givenName As String Public familyName As String Public phoneExtension As Long Private salary As Decimal Public Sub giveRaise(raise As Double) salary *= raise End Sub Public Event salaryReviewTime() End Structure- 前面的示例中的 salary 字段是 Private,这意味着不能从结构之外访问该字段,即使是从包含类也不能访问。但是,giveRaise 过程是 Public,因此可以从结构之外调用。同样,可以从结构之外引发 salaryReviewTime 事件。 - 除了变量、Sub 过程和事件之外,还可以在结构中定义常数、Function 过程和属性。可将最多一个属性定义为“默认属性”,只要该属性具有至少一个参数。可以使用 Shared (Visual Basic)Sub 过程来处理事件。有关更多信息,请参见如何:在 Visual Basic 中声明和调用默认属性。