Funzione CType (Visual Basic)

Restituisce il risultato della conversione esplicita di un'espressione in un tipo di dati, una struttura, una classe, un'interfaccia o un oggetto specificato.

CType(expression, typename)

Parti

  • expression
    Qualsiasi espressione valida.Se il valore di expression non rientra nell'intervallo consentito da typename, viene generata un'eccezione.

  • typename
    Qualsiasi espressione valida in una clausola As di un'istruzione Dim, ovvero il nome di qualsiasi tipo di dati, oggetto, struttura, classe o interfaccia.

Note

SuggerimentoSuggerimento

È inoltre possibile utilizzare le seguenti funzioni per eseguire una conversione di tipi:

La funzione CType viene compilata inline. Il codice di conversione fa quindi parte del codice con cui viene valutata l'espressione.In alcuni casi non esiste alcuna chiamata a una routine per eseguire la conversione, che consente un'esecuzione più veloce.

Se nessuna conversione definita da expression a typename, ad esempio da Integer a Date), Visual Basic visualizza un messaggio di errore in fase di compilazione.

Se la conversione ha esito negativo in fase di esecuzione, l'eccezione appropriata viene generata un'eccezione.Se una conversione verso un tipo di dati più piccolo ha esito negativo, il risultato più frequente è rappresentato da un'eccezione OverflowException.Se la conversione definita, InvalidCastException in generato in.Ad esempio, può verificarsi se expression è di tipo Object e il relativo tipo di runtime non dispone di conversione in typename.

Se il tipo di dati di expression o di typename è una classe o una struttura definita, è possibile definire CType su tale classe o struttura come operatore di conversione.In questo modo, la funzione CType funge da operatore di overloadIn questo caso, è possibile controllare il comportamento delle conversioni nella classe o struttura, incluse quelle che possono essere generate.

Overload

È possibile eseguire l'overload dell'operatore CType anche su una classe o una struttura definita all'esterno del codice.Se il codice esegue una conversione da o in una classe o struttura di questo tipo, è importante comprendere il comportamento del relativo operatore CType.Per ulteriori informazioni, vedere Routine di operatore (Visual Basic).

Conversione di oggetti dinamici

Le conversioni di tipi di oggetti dinamici sono eseguite dalle conversioni definite dall'utente dinamiche che utilizzano i metodi di BindConvert o di TryConvert.Se si utilizzano oggetti dinamici, utilizzare il metodo di CTypeDynamic per convertire l'oggetto dinamico.

Esempio

Nell'esempio riportato di seguito la funzione CType viene utilizzata per convertire un'espressione nel tipo di dati specificato.

Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)

Per ulteriori esempi, vedere Conversioni implicite ed esplicite (Visual Basic).

Vedere anche

Attività

Procedura: definire un operatore di conversione (Visual Basic)

Riferimenti

Funzioni di conversione del tipo (Visual Basic)

Funzioni di conversione (Visual Basic)

OverflowException

InvalidCastException

Istruzione Operator

Concetti

Conversione di tipi in .NET Framework