HOW TO:建立具有混合元素型別的陣列

更新:2007 年 11 月

一個陣列只可有一個宣告的資料型別,且該陣列的所有元素都必須是那個資料型別。一般而言,此限制是需要的,因為所有元素彼此都緊密相關,且具有類似型別的值。然而,有時元素彼此並非緊密相關,或沒有類似的值。在此情況下,可將陣列元素宣告為 Object 資料型別,而個別元素可指向不同種類的資料,例如數字、字元、字串 (String)、物件和其他陣列。

若要建立具有不同資料型別之元素的陣列

  • 將陣列宣告為 Object。下列範例宣告變數以保留 Object 元素的陣列,建立陣列,並將它指定給變數。

    Dim mixedTypes As Object() = New Object() {}
    

    使用 Object 資料型別時,記住效能並不會像使用較特定資料型別時那麼有效率。原因是執行階段必須使用稱為「Boxing」和「Unboxing」的作業,來轉換資料的自然資料型別和 Object。如果經常這麼做,則這個額外的處理會破壞您的效能。

若要存取陣列中不同資料型別的元素

  • 以一般方式讀取或寫入元素。可儲存和擷取 Object 陣列中之任意資料型別的元素。

    下列範例示範將不同資料型別的資訊放入 Object 陣列中。會將員工資訊儲存在變數 employeeData 的陣列中。

    Dim employeeData(3) As Object
    employeeData(0) = "Alex Hankin"
    employeeData(1) = "4242 Maple Street"
    employeeData(2) = 48
    employeeData(3) = #8/23/1956#
    

    若要從 Object 陣列擷取不同資料型別的資訊,可將元素轉換成適當的資料型別,如下列範例所示。

    Dim age As Integer = CInt(employeeData(2))
    Dim birthDate as Date = CDate(employeeData(3))
    

在元素彼此未相似或相關的情況下,另一個可能是將它們放入集合中,而非 Object 陣列中。如需詳細資訊,請參閱使用集合取代陣列

請參閱

工作

HOW TO:宣告陣列變數

HOW TO:建立陣列

HOW TO:建立具有一個以上維度的陣列

HOW TO:建立陣列的陣列

HOW TO:建立沒有元素的陣列

HOW TO:初始化陣列變數

陣列疑難排解

概念

Visual Basic 中的陣列概觀

使用集合取代陣列

其他資源

Visual Basic 中的陣列