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

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

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

  1. 确保两个数组的排名与 (兼容元素) 的维度数相同。

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

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

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

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

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

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

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

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

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

请参阅