结构变量
更新:2007 年 11 月
创建了结构后,可将过程级变量和模块级变量声明为该类型。例如,可以创建记录计算机系统信息的结构。下面的示例说明了这一点。
Public Structure systemInfo
Public cPU As String
Public memory As Long
Public purchaseDate As Date
End Structure
现在可以声明该类型的变量。下面的声明阐释这一过程。
Dim mySystem, yourSystem As systemInfo
说明: |
---|
在类和模块中,使用 Dim 语句 (Visual Basic) 声明的结构默认为公共访问。如果希望结构为私有,请确保使用 Private (Visual Basic) 关键字声明它。 |
对结构值的访问
若要从结构变量的元素中赋值和检索值,请使用与设置和获取对象属性时相同的语法。在结构变量名称和元素名称之间使用成员访问运算符 (.)。下面的示例对先前声明为类型 systemInfo 的变量的元素进行访问。
mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True
结构变量赋值
如果二者的结构类型相同,也可以将一个变量赋给另一个。这会将一个结构的所有元素复制为另一结构中的相应元素。下面的声明阐释这一过程。
yourSystem = mySystem
如果结构元素是引用类型,如 String、Object 或数组,则将复制指向数据的指针。在上面的示例中,如果 systemInfo 已包含对象变量,则上例会将指针从 mySystem 复制到 yourSystem,通过一个结构对对象数据所做的更改将在通过另一结构访问时生效。