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

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

将一个数组赋给另一个数组

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

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

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

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

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

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

  • 元素类型。 两个数组都必须具有引用类型元素,或者两个数组都必须具有值类型元素。 有关更多信息,请参见 Value Types and Reference Types

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

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

如果违反上述规则(例如,如果数据类型不兼容或秩不等),则编译器会报告错误。 可在代码中添加错误处理,以确保在尝试赋值之前数组是兼容的。 如果要避免引发异常,你也可使用 TryCast 运算符关键字。

请参阅