Compartilhar via


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 usar Char 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 de Char no novo código do Visual Basic.

  • Ampliação. O tipo de dados Char é ampliado para String. Isso significa que você pode converter Char para String 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 dados Char. Char não tem caractere de identificação de tipo.

  • Tipo do Framework. O tipo correspondente no .NET Framework é a estrutura System.Char.

Confira também