结构变量

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

请参见

任务

数据类型的疑难解答

如何:声明结构

概念

Visual Basic 中的数据类型

复合数据类型

结构和其他编程元素

结构和类

参考

Structure 语句

其他资源

基本数据类型

数据类型实现

结构:您自己的数据类型