结构变量 (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,并且通过一个结构对对象数据所做的更改将在通过另一个结构访问时生效。

另请参阅