Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Es gibt zwei Arten von Typen in Visual Basic: Verweistypen und Werttypen. Variablen von Verweistypen speichern Verweise auf ihre Daten (Objekte), während Variablen von Werttypen direkt ihre Daten enthalten. Bei Verweistypen können zwei Variablen auf dasselbe Objekt verweisen. Daher können auf eine Variable angewendete Operationen das Objekt beeinflussen, auf das von der anderen Variablen verwiesen wird. Bei Werttypen verfügt jede Variable über eine eigene Kopie der Daten, und es ist nicht möglich, dass Vorgänge für eine Variable sich auf die andere auswirken (mit Ausnahme des ByRef-Modifizierers für Parameter).
Werttypen
Ein Datentyp ist ein Werttyp , wenn er die Daten in einer eigenen Speicherzuordnung enthält. Zu den Werttypen gehören:
Alle numerischen Datentypen
Boolean
,Char
undDate
Alle Strukturen, auch wenn ihre Member Verweistypen sind
Enumerationen, da ihr zugrunde liegender Typ immer
SByte
,Short
,Integer
,Long
,Byte
,UShort
,UInteger
oderULong
ist
Jede Struktur ist ein Werttyp, selbst wenn sie Elemente vom Referenztyp enthält. Aus diesem Grund werden Werttypen wie Char
und Integer
von .NET Framework-Strukturen implementiert.
Sie können einen Werttyp deklarieren, indem Sie das reservierte Schlüsselwort Decimal
verwenden, zum Beispiel. Sie können auch das New
Schlüsselwort verwenden, um einen Werttyp zu initialisieren. Dies ist besonders nützlich, wenn der Typ über einen Konstruktor verfügt, der Parameter verwendet. Ein Beispiel hierfür ist der Decimal(Int32, Int32, Int32, Boolean, Byte) Konstruktor, der einen neuen Decimal
Wert aus den bereitgestellten Teilen erstellt.
Verweistypen
Ein Verweistyp speichert einen Verweis auf seine Daten. Zu den Referenztypen gehören:
String
Alle Arrays, auch wenn ihre Elemente Werttypen sind
Klassentypen, z. B. Form
Delegierte
Eine Klasse ist ein Verweistyp. Beachten Sie, dass jedes Array ein Bezugstyp ist, auch wenn es sich bei seinen Membern um Werttypen handelt.
Da jeder Verweistyp eine zugrunde liegende .NET Framework-Klasse darstellt, müssen Sie beim Initialisieren das Schlüsselwort New Operator verwenden. Die folgende Anweisung initialisiert ein Array.
Dim totals() As Single = New Single(8) {}
Elemente, die keine Typen sind
Die folgenden Programmierelemente gelten nicht als Typen, da Sie keinen dieser Elemente als Datentyp für ein deklariertes Element angeben können:
Namensräume
Module
Ereignisse
Eigenschaften und Verfahren
Variablen, Konstanten und Felder
Arbeiten mit dem Objektdatentyp
Sie können entweder einen Verweistyp oder einen Werttyp einer Variablen des Object
Datentyps zuweisen. Eine Object
Variable enthält immer einen Verweis auf die Daten, niemals die Daten selbst. Wenn Sie einer Variablen jedoch einen Object
Werttyp zuweisen, verhält es sich so, als ob er seine eigenen Daten enthält. Weitere Informationen finden Sie unter Objektdatentyp.
Sie können herausfinden, ob eine Object
Variable als Verweistyp oder Werttyp fungiert, indem Sie sie an die IsReference Methode in der Information Klasse des Microsoft.VisualBasic Namespace übergeben.
Information.IsReference gibt zurück True
, wenn der Inhalt der Object
Variablen einen Verweistyp darstellt.