Modifiche ai valori durante le conversioni (Visual Basic)
Nella conversione da un tipo valore viene memorizzata una copia del valore di origine nella destinazione della conversione stessa. Questa copia non rappresenta tuttavia un'esatta immagine del valore di origine. Il tipo di dati di destinazione memorizza infatti i valori in modo differente ed è possibile che anche il valore rappresentato subisca variazioni, a seconda del tipo di conversione effettuata.
Modifiche durante conversioni di ampliamento e restrizione
Le conversioni verso un tipo di dati più piccolo modificano la copia di destinazione del valore di origine e comportano una potenziale perdita di informazioni. Un valore frazionario, ad esempio, viene arrotondato se convertito in un tipo integrale e un tipo numerico convertito in un valore Boolean viene ridotto a True o False.
Le conversioni verso un tipo di dati più grande preservano il valore di origine ma possono modificarne la rappresentazione. Questo accade se si effettua una conversione da un tipo integrale a Decimal o da Char a String.
Il valore di origine in sé non subisce comunque alcuna modifica in conseguenza di una conversione.
Modifiche durante conversioni di tipi riferimento
Una conversione da un tipo di riferimento copia solo il puntatore al valore. Il valore in sé non viene in alcun modo copiato né modificato. L'unica differenza può essere rappresentata dal tipo di dati della variabile contenente il puntatore. Nell'esempio che segue il tipo di dati viene convertito dalla classe derivata nella relativa classe di base, ma l'oggetto al quale ora puntano entrambe le variabili è invariato.
' 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
Vedere anche
Attività
Procedura: convertire un oggetto in un altro tipo in Visual Basic
Riferimenti
Riepilogo dei tipi di dati (Visual Basic)
Funzioni di conversione del tipo (Visual Basic)
Concetti
Conversioni di ampliamento e restrizione (Visual Basic)
Conversioni implicite ed esplicite (Visual Basic)
Conversioni fra stringhe e altri tipi (Visual Basic)
Conversioni di matrici (Visual Basic)
Programmazione senza tipi in Visual Basic