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 usareChar
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é comeChar
.Ampliamento. Il tipo di dati
Char
può ampliarsi inString
. Ciò significa che è possibile eseguire la conversioneChar
inString
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 datiChar
.Char
non ha un carattere di tipo identificatore.Tipo di Framework. Il tipo corrispondente in .NET Framework è la struttura System.Char.