如何:声明结构 (Visual Basic)

结构语句开始结构声明,并以 End Structure 语句结束它。 在这两个语句之间,必须至少声明一个元素。 元素可以是任何数据类型,但至少一个必须是非共享变量或非共享非自定义事件。

不能初始化结构声明中的任何结构元素。 当将变量声明为结构类型时,可以通过变量访问元素来为元素赋值。

有关结构和类之间的差异的讨论,请参阅结构和类

出于演示目的,请考虑想要跟踪员工姓名、电话分机号和薪水的情况。 使用结构可以在单个变量中执行此操作。

声明结构

  1. 为结构创建开始和结束语句。

    可以使用 PublicProtectedFriendPrivate 关键字指定结构的访问级别,也可以将其默认为 Public

    Private Structure employee  
    End Structure  
    
  2. 将元素添加到结构的正文中。

    一个结构必须至少有一个元素。 必须声明每个元素并指定其访问级别。 如果使用不带任何关键字的 Dim 语句,则辅助功能默认为 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 过程和属性。 最多可以将一个属性指定为默认属性,前提是它至少采用一个实参。 可以使用共享Sub过程处理事件。 有关详细信息,请参阅如何:在 Visual Basic 中声明和调用默认属性

另请参阅