Zusammengesetzte Datentypen (Visual Basic)
Zusätzlich zu den elementaren Datentypen von Visual Basic können Sie auch Elemente unterschiedlicher Typen kombinieren, um zusammengesetzte Datentypen wie Strukturen, Arrays und Klassen zu erstellen. Sie können zusammengesetzte Datentypen aus elementaren Typen und aus anderen zusammengesetzten Typen erstellen. Sie können beispielsweise ein Array aus Strukturelementen oder eine Struktur mit Arraymembern definieren.
Datentypen
Ein zusammengesetzter Datentyp unterscheidet sich vom Datentyp seiner einzelnen Komponenten. Ein Array aus Integer
-Elementen weist beispielsweise nicht den Datentyp Integer
auf.
Ein Arraydatentyp setzt sich normalerweise aus dem Elementtyp, Klammern und Kommas zusammen. Beispielsweise wird ein eindimensionales Array aus String
-Elementen als String()
angegeben und ein zweidimensionales Array aus Boolean
-Elementen als Boolean(,)
.
Strukturtypen
Es gibt keinen universellen Datentyp für alle Strukturen. Jede Definition einer Struktur resultiert in einem einzigartigen Datentyp, selbst wenn zwei Strukturen identische Elemente in derselben Reihenfolge definieren. Wenn Sie jedoch zwei oder mehr Instanzen derselben Struktur erstellen, ordnet Visual Basic diesen denselben Datentyp zu.
Tupel
Ein Tupel ist eine schlanke Struktur, die zwei oder mehr Felder mit vordefinierten Typen enthält. Tupel werden ab Visual Basic 2017 unterstützt. Tupel werden in der Regel verwendet, um mehrere Werte aus einem einzigen Methodenaufruf zurückzugeben, ohne die Argumente nach Verweis übergeben zu müssen oder die zurückgegebenen Felder in eine umfangreichere Klasse oder Struktur zu packen. Im Artikel Tupel finden Sie weitere Informationen zu Tupeln.
Arraytypen
Es gibt keinen universellen Datentyp für alle Arrays. Der Datentyp einer bestimmten Arrayinstanz richtet sich nach Folgendem:
der Tatsache, dass es sich um ein Array handelt
dem Rang (Anzahl der Dimensionen) des Arrays
dem Elementtyp des Arrays
Genauer gesagt ist die Länge einer bestimmten Dimension nicht Teil des Datentyps der Instanz. Dies wird anhand des folgenden Beispiels veranschaulicht.
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) {}
Im vorherigen Beispiel wurde den Arrayvariablen arrayA
und arrayB
derselbe Datentyp (Byte()
) zugeordnet, obwohl diese mit unterschiedlichen Längen initialisiert werden. Die Variablen arrayB
und arrayC
weisen nicht denselben Typ auf, da ihre Elemente unterschiedlich sind. Die Variablen arrayC
und arrayD
weisen nicht denselben Typ auf, da ihre Ränge unterschiedlich sind. Die Variablen arrayD
und arrayE
weisen denselben Typ (Short(,)
) auf, da ihre Ränge und Elemente gleich sind, obwohl arrayD
noch nicht initialisiert wurde.
Weitere Informationen zu Arrays finden Sie unter Arrays.
Klassentypen
Es gibt keinen universellen Datentyp für alle Klassen. Obwohl Klassen voneinander erben können, weist jede einen eigenen Datentyp auf. Mehrere Instanzen derselben Klasse weisen denselben Datentyp auf. Wenn Sie Klasseninstanzvariablen einander zuordnen, weisen diese nicht nur denselben Datentyp auf, sondern zeigen auch auf dieselbe Klasseninstanz im Arbeitsspeicher.
Weitere Informationen zu Klassen finden Sie unter Objekte und Klassen.