複合資料型別 (Visual Basic)
除了 Visual Basic 提供的基本資料型別之外,也可以組合不同型別的項目來建立「複合資料型別」(Composite Data Type),例如結構、陣列及類別。 您可以從基本型別以及其他複合型別來建立複合資料型別。 例如,您可以定義結構元素的陣列或是具有陣列成員的結構。
資料型別
複合型別與其元件的任何資料型別都不同。 例如,Integer 元素的陣列並不屬於 Integer 資料型別。
陣列資料型別通常會視需要,使用元素型別、括號和逗號來表示。 例如,String 元素的一維陣列會表示成 String(),而 Boolean 元素的二維陣列會表示成 Boolean(,)。
結構型別
沒有任何單一的資料型別可包含所有的結構。 相反地,結構的每個定義都代表唯一的資料型別,即使兩個結構以相同的順序定義相同的項目。 然而,如果您建立兩個或兩個以上相同結構的執行個體,Visual Basic 會將它們視為相同的資料型別。
陣列型別
沒有任何單一的資料型別可包含所有的陣列。 陣列中特定執行個體的資料型別是由以下來決定:
屬於陣列的事實
陣列的陣序 (維度數目)
陣列的元素型別
尤其要注意的是,指定維度 (Dimension) 的長度並不屬於執行個體的資料型別。 下列範例將說明這點。
Dim arrayA( ) As Byte = New Byte(12) {}
Dim arrayB( ) As Byte = New Byte(100) {}
Dim arrayC( ) As Short = New Short(100) {}
Dim arrayD( , ) As Short
Dim arrayE( , ) As Short = New Short(4, 10) {}
在前述範例中,雖然陣列變數 arrayA 和 arrayB 初始化為不同的長度,但還是將它們視為屬於相同的資料型別 Byte()。 變數 arrayB 和 arrayC 由於其元素型別不同,而具有不同型別。 變數 arrayC 和 arrayD 由於其陣序不同,而具有不同型別。 變數 arrayD 和 arrayE 具有相同型別 Short(,),因為其陣序和元素型別都相同,即使 arrayD 尚未初始化。
如需陣列的詳細資訊,請參閱 Visual Basic 中的陣列。
類別型別
沒有任何單一的資料型別可包含所有的類別。 雖然類別可以繼承自另一個類別,但各自為獨立的資料型別。 相同類別的多個執行個體都屬於相同資料型別。 如果將某個類別執行個體變數指派給另一個,則它們不但會有相同的資料型別,也會指向記憶體中的相同類別執行個體。
如需類別的詳細資訊,請參閱 Visual Basic 中的物件和類別。
請參閱
工作
HOW TO:在變數中存放多個值 (Visual Basic)
概念
Visual Basic 中的泛型型別 (Visual Basic)