结构变量 (Visual Basic)

创建结构后,可以将过程级变量和模块级变量声明为该类型。 例如,可以创建一个结构来记录有关计算机系统的信息。 下面的示例演示这一操作。

Public Structure systemInfo
    Public cPU As String
    Public memory As Long
    Public purchaseDate As Date
End Structure

现在可以声明该类型的变量。 下面的声明对此进行了演示。

Dim mySystem, yourSystem As systemInfo

备注

在类和模块中,使用 Dim 语句声明的结构默认为公共访问。 如果要将结构设置为专用,请确保使用 private 关键字对其进行声明。

访问结构值

若要分配和检索结构变量的元素中的值,请使用与用于设置和获取对象属性相同的语法。 将成员访问运算符 (.) 放置在结构变量名称和元素名称之间。 下面的示例访问之前声明为类型 systemInfo 的变量的元素。

mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True

分配结构变量

如果两个变量具有相同的结构类型,则还可以将一个变量分配给另一个变量。 这会将一个结构的所有元素复制到另一个结构中的相应元素中。 下面的声明对此进行了演示。

yourSystem = mySystem

如果结构元素是引用类型(如 StringObject 或数组),则会复制指向该数据的指针。 在前面的示例中,如果 systemInfo 已包含一个对象变量,则前面的示例会将指针从 mySystem 复制到 yourSystem,并且通过一个结构执行的对象数据更改将在通过其他结构访问该数据时生效。

请参阅