Typumwandlung unter VB.NET

Unter VB.NET gibt es verschiedene Möglichkeiten, den Typ von Variablen umzuwandeln. Dieser Artikel erläutert den Unterschied zwischen impliziter und expliziter Typumwandlung, die Bedeutung von Option Strict, die verschiedenen Typumwandlungsfunktionen wie CBool und die Methoden der Convert-Klasse. Außerdem gibt es noch flexible Umwandlungsfunktionen wie CType, DirectCast oder TryCast – auch diese schauen wir uns genauer an.

Visual Basic.NET bietet sehr viele verschiedene Datentypen. Manchmal müssen Sie Inhalte von einem zum anderen Datentyp konvertieren. Wie das gelingt, zeigen die folgenden Abschnitte.

Implizite Typumwandlung

Die implizite Typumwandlung erfolgt bei der Zuweisung eines Wertes oder eines Objekts zu einer Variablen. Diese Typumwandlung gelingt jedoch nur, wenn der umzuwandelnde Datentyp ein niederwertiger Datentyp ist und der Zieldatentyp ein höherwertiger Datentyp. Das bedeutet zum Beispiel, dass alle Datentypen in den Typ Object umgewandelt werden können, da dieser der oberste Datentyp in der Hierarchie der Datentypen ist. Die nachfolgenden Beispiele liefern gültige Zuweisungen, da der Zieldatentyp jeweils Object ist:

Dim objInteger As Object
objInteger = 10
Dim objKunde As Object
objKunde = New Kunde

Für die Zuweisung eines neuen Object-Elements zur Objektvariablen des Typs Kunde wie in der folgenden Anweisung gelingt das nicht:

Dim objKunde2 As Kunde
objKunde2 = New Object

Hier erhalten wir eine Fehlermeldung (siehe Bild 1).

Fehler beim Zuweisen von Object zu einem anderen Objekttyp

Bild 1: Fehler beim Zuweisen von Object zu einem anderen Objekttyp

Anzeige von ungültigen Zuweisungen per Option aktivieren

Sie können solche Fehler schon vor dem Ausführen ausschließen. Dazu stellen Sie einfach eine spezielle Option namens Option Strict auf den Wert On ein. Diese finden sie, wenn Sie im Projektmappen-Explorer doppelt auf den Eintrag My Project klicken und dort zum Bereich Kompilieren wechseln. Hier finden Sie im Bereich Kompilierungsoptionen die Eigenschaft Option Strict, die wir auf den Wert On einstellen (siehe Bild 2).

Einstellungen für das Kompilieren

Bild 2: Einstellungen für das Kompilieren

Damit sorgen wir dafür, dass fehlerhafte Zuweisungen bereits im Codefenster angezeigt werden. Fahren Sie mit der Maus über einen entsprechend markierten Ausdruck, zeigt dieser das Problem an (siehe Bild 3). Hier sehen Sie weiter unten auch eine Markierung einer nicht gültigen Konvertierung von Long in Integer.

Anzeige nicht erlaubter Konvertierungen

Bild 3: Anzeige nicht erlaubter Konvertierungen

Option Strict als Standard setzen

Unter VB.NET gibt es verschiedene Möglichkeiten, den Typ von Variablen umzuwandeln. Dieser Artikel erläutert den Unterschied zwischen impliziter und expliziter Typumwandlung, die Bedeutung von Option Strict, die verschiedenen Typumwandlungsfunktionen wie CBool und die Methoden der Convert-Klasse. Außerdem gibt es noch flexible Umwandlungsfunktionen wie CType, DirectCast oder TryCast – auch diese schauen wir uns genauer an.

Visual Basic.NET bietet sehr viele verschiedene Datentypen. Manchmal müssen Sie Inhalte von einem zum anderen Datentyp konvertieren. Wie das gelingt, zeigen die folgenden Abschnitte.

Implizite Typumwandlung

Die implizite Typumwandlung erfolgt bei der Zuweisung eines Wertes oder eines Objekts zu einer Variablen. Diese Typumwandlung gelingt jedoch nur, wenn der umzuwandelnde Datentyp ein niederwertiger Datentyp ist und der Zieldatentyp ein höherwertiger Datentyp. Das bedeutet zum Beispiel, dass alle Datentypen in den Typ Object umgewandelt werden können, da dieser der oberste Datentyp in der Hierarchie der Datentypen ist. Die nachfolgenden Beispiele liefern gültige Zuweisungen, da der Zieldatentyp jeweils Object ist:

Dim objInteger As Object
objInteger = 10
Dim objKunde As Object
objKunde = New Kunde

Für die Zuweisung eines neuen Object-Elements zur Objektvariablen des Typs Kunde wie in der folgenden Anweisung gelingt das nicht:

Dim objKunde2 As Kunde
objKunde2 = New Object

Hier erhalten wir eine Fehlermeldung (siehe Bild 1).

Fehler beim Zuweisen von Object zu einem anderen Objekttyp

Bild 1: Fehler beim Zuweisen von Object zu einem anderen Objekttyp

Anzeige von ungültigen Zuweisungen per Option aktivieren

Sie können solche Fehler schon vor dem Ausführen ausschließen. Dazu stellen Sie einfach eine spezielle Option namens Option Strict auf den Wert On ein. Diese finden sie, wenn Sie im Projektmappen-Explorer doppelt auf den Eintrag My Project klicken und dort zum Bereich Kompilieren wechseln. Hier finden Sie im Bereich Kompilierungsoptionen die Eigenschaft Option Strict, die wir auf den Wert On einstellen (siehe Bild 2).

Einstellungen für das Kompilieren

Bild 2: Einstellungen für das Kompilieren

Damit sorgen wir dafür, dass fehlerhafte Zuweisungen bereits im Codefenster angezeigt werden. Fahren Sie mit der Maus über einen entsprechend markierten Ausdruck, zeigt dieser das Problem an (siehe Bild 3). Hier sehen Sie weiter unten auch eine Markierung einer nicht gültigen Konvertierung von Long in Integer.

Anzeige nicht erlaubter Konvertierungen

Bild 3: Anzeige nicht erlaubter Konvertierungen

Option Strict als Standard setzen

Access, SQL und Cloud Automation

Unser exklusives Angebot für Dich!

VB-Entwickler
12,50 € im Monat*

(Gilt für den Abschluss eines Jahres-Abonnements.)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →