如何:创建具有混合元素类型的数组

更新:2007 年 11 月

数组只声明一个数据类型,而数组的所有元素都必须是该数据类型。这一限制通常是合理的,这是因为所有元素相互之间都紧密相关,并具有相似类型的值。但是,有时候元素不是紧密相关的,或者不具有相似的值。在这种情况下,可将数组元素声明为 Object 数据类型,单个元素可指向不同类型的数据,如数字、字符、字符串、对象或其他数组。

创建具有不同数据类型的元素的数组

  • 将数组声明为 Object。下面的示例声明一个变量来保存 Object 元素组成的数组,然后创建数组,并将其分配给该变量。

    Dim mixedTypes As Object() = New Object() {}
    

    请记住,使用 Object 数据类型的性能不如使用更具体的数据类型高效。这是因为运行库必须使用称为“装箱”和“取消装箱”的操作在其自然数据类型和 Object 之间转换数据。如果经常进行此附加处理,则可能影响性能。

访问数组中不同数据类型的元素

  • 以常规方式读写元素。在 Object 数组中可以存储和检索任何数据类型的元素。

    下面的示例演示将不同数据类型的信息放入 Object 数组。它将雇员信息存储在 employeeData 变量中的数组中。

    Dim employeeData(3) As Object
    employeeData(0) = "Alex Hankin"
    employeeData(1) = "4242 Maple Street"
    employeeData(2) = 48
    employeeData(3) = #8/23/1956#
    

    要从 Object 数组中检索不同数据类型的信息,可将元素转换为适当的数据类型,如下例所示。

    Dim age As Integer = CInt(employeeData(2))
    Dim birthDate as Date = CDate(employeeData(3))
    

在元素相互之间不相似或不相关的情况下,另一个办法是将这些元素放在集合中,而不使用 Object 数组。有关更多信息,请参见 使用集合替代数组

请参见

任务

如何:声明数组变量

如何:创建数组

如何:创建多维数组

如何:创建数组的数组

如何:创建不含任何元素的数组

如何:初始化数组变量

数组疑难解答

概念

Visual Basic 中的数组概述

使用集合替代数组

其他资源

数组 (Visual Basic)