Condividi tramite


Tipo di dati Char (Visual Basic)

Contiene punti di codice senza segno a 16 bit (2 byte) compresi tra 0 e 65535. Ogni punto di codice, o codice carattere, rappresenta un singolo carattere Unicode.

Osservazioni:

Usare il tipo di dati Char quando è necessario contenere un solo carattere e non è necessario il sovraccarico di String. In alcuni casi è possibile usare Char(), una matrice di elementi Char, per contenere più caratteri.

Il valore predefinito di Char è il carattere con un punto di codice pari a 0.

Caratteri Unicode

I primi 128 punti di codice (0-127) di Unicode corrispondono alle lettere e ai simboli su una tastiera standard statunitense. Questi primi 128 punti di codice corrispondono a quelli definiti dal set di caratteri ASCII. I secondi 128 punti di codice (128-255) rappresentano caratteri speciali, ad esempio lettere alfabetiche basate sul latino, accenti, simboli di valuta e frazioni. Unicode usa i punti di codice rimanenti (256-65535) per un'ampia gamma di simboli, tra cui caratteri testuali, diacritici e simboli matematici e tecnici globali.

È possibile usare metodi come IsDigit e IsPunctuation su una variabile Char per determinarne la classificazione Unicode.

Conversione di tipi

Visual Basic non esegue la conversione diretta tra Char e i tipi numerici. È possibile usare la funzione Asc o AscW per convertire un valore Char in un oggetto Integer che rappresenta il relativo punto di codice. È possibile usare la funzione Chr o ChrW per convertire un valore Integer in un oggetto Char con tale punto di codice.

Se l'opzione di controllo del tipo (istruzione Option Strict) è attivata, è necessario aggiungere il carattere di tipo letterale a un valore letterale stringa a carattere singolo per identificarlo come tipo di dati Char. Ciò è illustrato nell'esempio seguente. La prima assegnazione alla variabile charVar genera l'errore del compilatore BC30512 perché Option Strict è attivo. Il secondo viene compilato correttamente perché il carattere di tipo letterale c identifica il valore letterale come valore Char.

Option Strict On

Module CharType
    Public Sub Main()
        Dim charVar As Char

        ' This statement generates compiler error BC30512 because Option Strict is On.  
        charVar = "Z"  

        ' The following statement succeeds because it specifies a Char literal.  
        charVar = "Z"c
    End Sub
End Module

suggerimenti per la programmazione

  • Numeri negativi. Char è un tipo senza segno e non può rappresentare un valore negativo. In ogni caso, non è consigliabile usare Char per contenere valori numerici.

  • Considerazioni sull'interoperabilità. Se ci si interfaccia con componenti non scritti per .NET Framework, ad esempio oggetti Automazione o COM, tenere presente che i tipi di caratteri hanno una larghezza dei dati diversa (8 bit) in altri ambienti. Se si passa un argomento a 8 bit a un componente di questo tipo, nel nuovo codice Visual Basic è necessario eseguirne la dichiarazione come Byte anziché come Char.

  • Ampliamento. Il tipo di dati Char può ampliarsi in String. Ciò significa che è possibile eseguire la conversione Char in String e che non verrà rilevato un oggetto System.OverflowException.

  • Caratteri tipo. Aggiungendo il carattere di tipo letterale C a un valore letterale stringa a carattere singolo, ne si determina la conversione nel tipo di dati Char. Char non ha un carattere di tipo identificatore.

  • Tipo di Framework. Il tipo corrispondente in .NET Framework è la struttura System.Char.

Vedi anche