Wertänderungen durch Konvertierungen (Visual Basic)

Bei der Konvertierung von einem Werttyp wird eine Kopie des Ausgangswerts im Ziel der Konvertierung gespeichert. Diese Kopie ist jedoch kein genaues Abbild des Ausgangswerts. Im Zieldatentyp werden die Werte anders gespeichert, und je nach Art der ausgeführten Konvertierung kann sich auch der dargestellte Wert ändern.

Veränderungen bei erweiternden und einschränkenden Konvertierungen

Einschränkende Konvertierungen ändern die Zielkopie des Ausgangswerts und bewirken einen potenziellen Informationsverlust. So wird ein Dezimalstellenwert bei der Konvertierung in einen Ganzzahltyp beispielsweise gerundet, und ein in Boolean konvertierter Wert wird auf True oder False reduziert.

Bei erweiternden Konvertierungen bleibt der Wert erhalten, seine Darstellung wird jedoch geändert. Dies geschieht, wenn Sie einen Ganzahltyp in Decimal konvertieren oder Char in String konvertieren.

Der ursprüngliche Wert wird bei der Konvertierung nicht geändert.

Veränderungen bei der Konvertierung von Verweistypen

Bei der Konvertierung eines Verweistyps wird nur der Zeiger auf den Wert konvertiert. Der Wert an sich wird weder kopiert noch in irgendeiner Weise verändert. Lediglich der Datentyp der Variablen, die den Zeiger enthält, kann sich ändern. Im folgenden Beispiel wird der Datentyp von der abgeleiteten Klasse in die Basisklasse konvertiert. Das Objekt, auf das nun beide Variablen zeigen, wird dabei allerdings nicht verändert.

' Assume class cSquare inherits from class cShape.
Dim shape As cShape
Dim square As cSquare = New cSquare
' The following statement performs a widening
' conversion from a derived class to its base class.
shape = square

Siehe auch

Aufgaben

Gewusst wie: Konvertieren eines Objekts in einen anderen Typ in Visual Basic

Referenz

Datentyp: Zusammenfassung (Visual Basic)

Funktionen für die Typkonvertierung (Visual Basic)

Konzepte

Erweiternde und eingrenzende Konvertierungen (Visual Basic)

Implizite und explizite Konvertierungen (Visual Basic)

Konvertierungen zwischen Zeichenfolgen und anderen Typen (Visual Basic)

Arraykonvertierungen (Visual Basic)

Typenloses Programmieren in Visual Basic

Weitere Ressourcen

Typkonvertierung in Visual Basic

Strukturen (Visual Basic)