HOW TO:指派一個陣列至另一個陣列 (Visual Basic)

由於陣列就是物件,所以陣列可以像其他物件型別一樣在指派陳述式 (Assignment Statement) 中使用。 陣列變數會保留構成陣列元素、陣序規範及長度資訊的資料指標,以及僅複製此指標的指派。

將陣列指派給另一個陣列

  1. 請確定兩個陣列均具有相同的陣序規範 (維度數目) 及相容的元素資料型別。

  2. 使用標準指派陳述式 (Assignment Statement),將來源陣列指定給目的陣列。 請勿在陣列名稱之後加上括弧。

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

當您將一個陣列指派給另一陣列時,會套用下列規則 (Rule):

  • 相同陣序規範:目的陣列的陣序規範 (維度數目) 必須與來源陣列相同。

    如果兩個陣列的陣序規範相等的話,維度並不一定會相等。 指定維度中的元素數可能會在指派期間變更。

  • 元素型別:兩個陣列都必須具有「參考型別」(Reference Type) 元素,或是兩個陣列都必須具有「實值型別」(Value Type) 元素。 如需詳細資訊,請參閱資料型別實作 (Visual Basic)

    • 如果兩個陣列都具有實值型別元素,則元素資料型別必須完全相同。 唯一的例外狀況 (Exception) 是,您可以將 Enum 元素的陣列指派給 Enum 的基底型別 (Base Type) 陣列。

    • 如果兩個陣列都具有參考型別元素,則來源元素型別必須衍生自目的元素型別。 在此情況下,兩個陣列的繼承 (Inheritance) 關係與其元素相同。 這稱為「陣列共異變數」(Array Covariance)。

如果違反上述規則,例如,資料型別不相容或是陣序規範不相等,編譯器 (Compiler) 就會報告錯誤。 您可以將錯誤處理加入您的程式碼,確保陣列在指派前都是相容的。 如果您想避免擲回例外狀況,也可以使用 TryCast 運算子 (Visual Basic) 關鍵字。

請參閱

工作

HOW TO:將陣列變更為不同的陣列 (Visual Basic)

HOW TO:傳遞陣列至程序或屬性 (Visual Basic)

HOW TO:從程序或屬性傳回陣列 (Visual Basic)

疑難排解陣列 (Visual Basic)

參考

Enum 陳述式 (Visual Basic)

概念

Visual Basic 中的陣列

陣列轉換 (Visual Basic)