如何:将一个数组分配给另一个数组(Visual Basic)

由于数组是对象,因此可以在赋值语句中使用它们,例如其他对象类型。 数组变量包含指向构成数组元素的数据的指针以及排名和长度信息,并且赋值仅复制此指针。

将一个数组分配给另一个数组

  1. 确保两个数组具有相同的排名(维度数)和兼容的元素数据类型。

  2. 使用标准赋值语句将源数组分配给目标数组。 不要在任一数组名称后接括号。

    Dim formArray() As System.Windows.Forms.Form
    Dim controlArray() As System.Windows.Forms.Control
    controlArray = formArray
    

将一个数组分配给另一个数组时,将应用以下规则:

  • 秩相等。 目标数组的排名(维度数)必须与源数组的排名(维度数)相同。

    如果两个数组的排名相等,则维度不需要相等。 给定维度中的元素数可以在赋值期间更改。

  • 元素类型。 两个数组都必须具有 引用类型 元素,或者两个数组必须具有 值类型 元素。 有关详细信息,请参阅 值类型和引用类型

    • 如果两个数组都具有值类型元素,则元素数据类型必须完全相同。 唯一的例外是,可以将元素数组 Enum 分配给该 Enum元素的基类型的数组。

    • 如果两个数组都具有引用类型元素,则源元素类型必须派生自目标元素类型。 在这种情况下,这两个数组的继承关系与其元素相同。 这称为 数组协变

如果违反上述规则,编译器将报告错误,例如,如果数据类型不兼容或排名不相等。 可以向代码添加错误处理,以确保数组在尝试分配之前兼容。 如果想要避免引发异常,还可以使用 TryCast 运算符 关键字。

另请参阅