Wertänderungen durch Konvertierungen
Aktualisiert: November 2007
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
Konzepte
Erweiternde und eingrenzende Konvertierungen
Implizite und explizite Konvertierungen
Konvertierungen zwischen Zeichenfolgen und anderen Typen
Typenloses Programmieren in Visual Basic
Referenz
Datentyp: Zusammenfassung (Visual Basic)
Funktionen für die Typkonvertierung