Tipo de dados Char (Visual Basic)
Contém pontos de código sem sinal de 16 bits (2 bytes) que variam no valor de 0 a 65535. Cada ponto de código, ou código de caractere, representa um caractere Unicode único.
Comentários
Use o tipo de dados Char
quando precisar manter apenas um caractere único e não precisar da sobrecarga de String
. Em alguns casos, você pode usar Char()
, uma matriz de elementos Char
, para conter vários caracteres.
O valor padrão Char
é o caractere com um ponto de código de 0.
Caracteres Unicode
Os primeiros 128 pontos de código (0 a 127) do Unicode correspondem às letras e símbolos em um teclado padrão dos EUA. Esses primeiros 128 pontos de código são os mesmos definidos pelo conjunto de caracteres ASCII. Os segundos 128 pontos de código (128-255) representam caracteres especiais, como letras alfabéticas de base latina, acentos, símbolos de moeda e frações. A Unicode usa os pontos de código restantes (256-65535) para uma ampla variedade de símbolos, incluindo caracteres textuais mundiais, diacríticos e símbolos matemáticos e técnicos.
Você pode usar métodos como IsDigit e IsPunctuation em uma variável Char
para determinar a classificação Unicode.
Conversões de tipo
O Visual Basic não converte diretamente entre Char
e os tipos numéricos. Você pode usar a função Asc ou AscW para converter um valor Char
em Integer
, que representa o ponto de código. Você pode usar a função Chr ou ChrW para converter um valor Integer
em Char
, que tem esse ponto de código.
Se a opção de verificação de tipo (a Instrução Option Strict) estiver ativada, você deverá acrescentar o caractere de tipo literal a um literal de cadeia de caracteres único para identificá-lo como o tipo de dados Char
. O exemplo a seguir ilustra essa situação. A primeira atribuição à variável charVar
gera um erro de compilador BC30512 porque Option Strict
está ativado. O segundo compila com sucesso porque o caractere de tipo literal c
identifica o literal como um valor 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
Dicas de programação
Números Negativos.
Char
é um tipo sem sinal e não pode representar um valor negativo. De qualquer forma, você não deve usarChar
para manter valores numéricos.Considerações sobre interoperabilidade. Se você fizer interface com componentes não escritos para o .NET Framework, por exemplo, objetos de Automação ou COM, lembre-se de que os tipos de caracteres têm uma largura de dados diferente (8 bits) em outros ambientes. Se você passar um argumento de 8 bits para esse componente, declare-o como
Byte
em vez deChar
no novo código do Visual Basic.Ampliação. O tipo de dados
Char
é ampliado paraString
. Isso significa que você pode converterChar
paraString
e não encontrará System.OverflowException.Caracteres de tipo. Anexar o caractere de tipo literal
C
a um literal de cadeia de caracteres único o força para o tipo de dadosChar
.Char
não tem caractere de identificação de tipo.Tipo do Framework. O tipo correspondente no .NET Framework é a estrutura System.Char.