用户定义类型(User-Defined Type,简称UDT)可以方便地在一个变量中存储相关数据,是编程者自已设置的数据类型。
使用Type语句来定义用户定义类型:
[Private Public] Type 用户定义类型名称
元素名称As 类型
元素名称As 类型
……
End Type
说明:
一个用户定义类型可以包括一个或多个元素
必须在模块的声明部分编写用户定义类型
在用户定义类型作用域范围内可以声明变量为用户定义类型
元素名称可以是数组
类型可以是另一个用户定义类型
用户定义类型可以用于构建高级数据结构,如队列、链表和栈
下面的代码定义了一个简单的UDT:
Public Type udtStudent
Num As Integer
Name As String
Age As Integer
End Type
可以在UDT中使用其他的UDT,如下所示:
Public Type udtGrade
Chinese As Integer
Math As Integer
English As Integer
End Type
Public Type udtStudent
Num As Integer
Name As String
Age As Integer
Grade As udtGrade
End Type
注意,被引用的UDT必须放置在引用的UDT之前,如上面的代码所示。
创建一个UDT类型的数组:
Private students(10) AsudtStudent
给UDT中的数据赋值:
students(0).Num = 1
students(0).Name =”Jessica”
students(0).Age = 9
students(0).Grade.Chinese = 95
下面的代码可以判断UDT中元素的类型:
Private MyGrade As udtGrade
If TypeOf MyGrade Is udtGradeThen
Debug.Print “这个用户定义类型是udtGrade.”
End If
Debug.PrintTypeName(MyGrade.Chinese)
结果如下所示。