Come convertire i dati in Visual Basic

Le conversioni esplicite

In Visual Basic .NET per convertire un valore da un tipo di dato a un altro, uso le seguenti funzioni di conversione esplicita:

CBool(x) trasforma in in booleano
CByte(x) trasforma in byte
CChar trasforma in carattere
CDate trasforma in data
CDec trasforma in decimale
CDbl trasforma in double
CInt(x) trasforma in intero
CLng(x) trasforma in long
CObj(x) trasforma in oggetto
CSByte(x)
CShort(x)
CSng(x)
CStr(x) trasforma un dato in stringa
CType(x)
CUInt(x)
CULng(x)
CUShort(x)
DirectCast(x)

Le conversioni esplicite non escludono il rischio di perdita di dati.

Le conversioni implicite

Nel caso del casting con fra tipi di valore è anche possibile la conversione implicita tra i tipi di dati.

Nota. Il casting è la conversione tra tipi affini. Ad esempio, un intero in long.

Una conversione implicita avviene senza alcun rischio di perdita di informazione, perché i tipi di dati sono affini.

Esempio

Un valore intero può essere trasformato in long senza alcuna perdita di informazione

Dim x As Integer = 5
Dim y As Long
y = x

CType e DirectCast

Le istruzioni CType e DirectCast utilizzano come parametri sia il tipo di dato in origine che di di destinazione

C'è però una differenza tra le due istruzioni.

L'istruzione Ctype si applica sia sulle variabili di calore che di riferimento.

Dim x As Integer
x = CType("3.14", Integer)

L'istruzione DirectCast si applica solo sulle variabili di riferimento.

Dim x As Tipopersonalizzato
x = DirectCast(Obj, Tipopersonalizzato)

Quando si tratta di variabili di riferimento tra loro compatibili è più efficiente l'uso di DirectCast perché CType tenterebbe comunque la conversione.

Inoltre, l'uso di CType non esclude l'insorgere di errori durante l'esecuzione se i tipi di dati non sono compatibili.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Visual Basic .NET

Il linguaggio di programmazione

Visual Studio