Esiste una classe "Convert" che contiene una serie di funzioni che permettono di eseguire delle conversioni esplicite.
Le conversioni esplicite sono utili perché consentono di ottenere programmi più efficienti.
Non è infatti necessario determinare a runtime il tipo di dati prima di effettuare la conversione.
Occorre comunque prestare attenzione, perché le conversioni esplicite possono facilmente portare ad eccezioni di tipo InvalidCastException.
Vediamo alcuni dei metodi della classe:
Metodo | Conversione effettuata |
---|---|
ToBoolean | Converte un valore in booleano |
ToByte | Converte un valore in intero senza segno ad 8 bit |
ToChar | Converte un valore in un carattere unicode |
ToDateTime | Converte un valore in DateTime. |
ToDecimal | Converte un valore in Decimal. |
ToDouble | Converte un valore in numero a virgola mobile e doppia precisione (double) |
ToInt16 | Converte un valore in intero a 16 bit |
ToInt32 | Converte un valore in intero a 32 bit |
ToInt64 | Converte un valore in intero a 64 bit |
ToSByte | Converte un valore in intero a 8 bit con segno |
ToSingle | Converte un valore in valore a virgola mobile e precisione singola |
ToString | Converte un valore in sringa |
ToUInt16 | Converte un valore in intero a 16 bit senza segno |
ToUInt32 | Converte un valore in intero a 32 bit senza segno |
ToUInt64 | Converte un valore in intero a 64 bit senza segno |
Module modConversione
Sub Main()
Dim numero As Integer = 0
Console.Write("Inserisci un valore intero: ")
Try
numero = System.Convert.ToInt32(Console.ReadLine())
Console.WriteLine("Il quadrato vale: " & quadrato(numero))
Catch exp As System.ArgumentNullException
Console.WriteLine("Non hai inserito niente")
Catch exp As System.InvalidCastException
System.Console.WriteLine("Non hai inserito un intero.")
Catch exp As System.OverflowException
System.Console.WriteLine("Intero troppo grande.")
End Try
End Sub
Function quadrato (ByVal numero As Integer) As Integer
Return numero*numero
End Function
End Module
Si può notare l'uso del blocco Try Catch, per gestire le eccezioni dovute agli errori di conversione.
La gestione delle eccezioni viene trattata in modo più approfondito in un apposito capitolo.