Condividi tramite


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

Suggerimento

È anche possibile utilizzare le funzioni seguenti per eseguire una conversione del tipo:

La funzione CType viene compilata inline. Il codice di conversione fa quindi parte del codice con cui viene valutata l'espressione. In alcuni casi, il codice viene eseguito più velocemente quanto non viene chiamata alcuna procedura per eseguire la conversione.

Se non è stata definita alcuna conversione da expression in typename, ad esempio da Integer in Date, in Visual Basic viene visualizzato un messaggio di errore in fase di compilazione.

Se un'operazione di conversione ha esito negativo in fase di esecuzione, viene generata l'eccezione appropriata. 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 non è definita, viene generata un'eccezione InvalidCastException. Ad esempio, questa situazione può verificarsi se expression è di tipo Object e il relativo tipo di runtime non viene convertito in typename.

Se il tipo di dati di expression o di typename è una classe o una struttura specificata, è possibile definire CType su tale classe o struttura come operatore di conversione. In questo modo, la funzione CType funge da operatore di overload In questo caso, è possibile controllare il comportamento delle conversioni da e nella classe o struttura, incluse le eccezioni 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 dinamiche definite dall'utente che utilizzano i metodi BindConvert o TryConvert. Se si utilizzano gli oggetti dinamici, utilizzare il metodo CTypeDynamic per convertire l'oggetto dinamico.

Esempio

Nell'esempio seguente la funzione CType viene utilizzata per convertire un'espressione nel tipo di dati Single.

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