共用方式為


HOW TO:指派一個陣列至另一個陣列

更新:2007 年 11 月

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

將陣列指派給另一個陣列

  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) 元素。如需詳細資訊,請參閱實值型別和參考型別

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

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

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

請參閱

工作

HOW TO:宣告陣列變數

HOW TO:建立陣列

HOW TO:初始化陣列變數

HOW TO:變更陣列的大小

HOW TO:將陣列變更為不同的陣列

HOW TO:傳遞陣列至程序或屬性

HOW TO:從程序或屬性傳回陣列

陣列疑難排解

概念

陣列轉換

參考

Enum 陳述式 (Visual Basic)

其他資源

Visual Basic 中的陣列