共用方式為


複合資料類型 (Visual Basic)

除了 Visual Basic 提供的基本資料類型之外,您也可以組合不同類型的專案,以建立 複合數據類型 ,例如結構、數位和類別。 您可以從基本型別和其他複合型別建置複合數據類型。 例如,您可以定義結構元素的陣列,或具有陣列成員的結構。

數據類型

複合類型與其任何元件的數據類型不同。 例如,元素陣列 Integer 不是 Integer 數據類型。

數位資料類型通常會視需要使用元素類型、括弧和逗號來表示。 例如,元素的 String 一維陣列會表示為 String(),而元素的 Boolean 二維陣列則表示為 Boolean(,)

結構類型

沒有任何單一數據類型包含所有結構。 相反地,結構的每個定義都代表唯一的數據類型,即使兩個結構以相同順序定義相同的元素也一樣。 不過,如果您建立兩個或多個相同結構的實例,Visual Basic 會將它們視為相同數據類型。

Tuple

Tuple 是輕量型結構,其中包含兩個以上的字段,其類型為預先定義。 從 Visual Basic 2017 開始,支援 Tuple。 Tuple 最常用來從單一方法呼叫傳回多個值,而不需要以傳址方式傳遞自變數,或將傳回的字段封裝在較重的類別或結構中。 如需 Tuple 的詳細資訊,請參閱 Tuple 主題。

陣列類型

沒有一種單一數據類型可以包含所有陣列。 陣列特定實例的數據類型取決於下列各項:

  • 成為陣列的事實

  • 陣列的排名(維度數目)

  • 陣列的元素類型

特別是,指定維度的長度不是實例數據類型的一部分。 下列範例說明這點。

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) {}  

在上述範例中,數位變數 arrayAarrayB 會被視為屬於相同的數據類型, Byte() 即使它們已初始化為不同的長度也一樣。 變數 arrayBarrayC 不是相同的類型,因為它們的元素類型不同。 變數 arrayCarrayD 不是相同類型,因為它們的排名不同。 arrayD變數和arrayE具有相同的類型 — Short(,) — 因為它們的排名和元素類型相同,即使arrayD尚未初始化也一樣。

如需有關陣列的詳細資訊,請參閱 陣列

類別類型

沒有包含所有類別的單一數據類型。 雖然某個類別可以繼承自另一個類別,但每個類別都是個別的數據類型。 相同類別的多個實例屬於相同的數據類型。 如果您將某個類別實例變數指派給另一個類別實例,它們不僅具有相同的數據類型,而且指向記憶體中的相同類別實例。

如需類別的詳細資訊,請參閱 對象和類別

另請參閱