复合数据类型 (Visual Basic)

除了 Visual Basic 提供的基本数据类型外,您还可以将不同类型的项组合起来以创建“复合数据类型”(如结构、数组和类)。可以从基本类型和其他复合类型生成复合数据类型。例如,可以定义结构元素的数组或者具有数组成员的结构。

数据类型

复合类型与它的任一组件的数据类型都不同。例如,一个 Integer 元素的数组不是 Integer 数据类型。

数组数据类型通常使用元素类型、圆括号(必要时还包括逗号)来表示。例如,String 元素的一维数组表示为 String();Boolean 元素的二维数组表示为 Boolean(,)。

结构类型

没有一种数据类型包含所有结构。相反,每种结构的定义都表示一种不同的数据类型,即使两种结构以相同的顺序定义相同的元素。但是,如果创建同一结构的两个或更多的实例,Visual Basic 将认为它们属于同一数据类型。

数组类型

没有一种数据类型包含所有数组。数组的某个特定实例的数据类型取决于以下方面:

  • 确实为数组

  • 数组的秩(维数)

  • 数组的元素类型

特别是,给定维度的长度不是实例的数据类型的一部分。下面的示例阐释了这一点。

Dim arrayA( ) As Byte = New Byte(12) {}
Dim arrayB( ) As Byte = New Byte(100) {}
Dim arrayC( ) As Short = New Short(100) {}
Dim arrayD( , ) As Short
Dim arrayE( , ) As Short = New Short(4, 10) {}

在上例中,尽管数组变量 arrayA 和 arrayB 被初始化为不同的长度,但它们均被视为同一数据类型:Byte()。变量 arrayB 和 arrayC 不属于同一类型,因为它们的元素类型不同。变量 arrayC 和 arrayD 不属于同一类型,因为它们的秩不同。变量 arrayD 和 arrayE 属于同一类型 Short(,),因为它们的秩和元素类型均相同,即使 arrayD 还未初始化。

有关数组的更多信息,请参见数组 (Visual Basic)

类类型

没有一种数据类型包含所有类。虽然一个类可以从另一个类继承,但每一个类均为单独的数据类型。同一类的多个实例具有相同的数据类型。如果将一个类实例变量赋给另一个类,它们不仅具有相同的数据类型,还在内存中指向相同的类实例。

有关类的更多信息,请参见 Visual Basic 中的对象和类

请参见

任务

数据类型疑难解答 (Visual Basic)

如何:在一个变量中保存多个值 (Visual Basic)

概念

Visual Basic 中的数据类型

Visual Basic 中的泛型类型 (Visual Basic)

值类型和引用类型

其他资源

基本数据类型 (Visual Basic)

Visual Basic 中的类型转换

结构 (Visual Basic)