Caracteres de texto (Visual Basic)

Além de especificar um tipo de dados em uma instrução de declaração, você pode forçar o tipo de dados de alguns elementos de programação com um caractere de tipo. O caractere de tipo deve seguir imediatamente o elemento, sem caracteres intervenientes de qualquer tipo.

O caractere de tipo não faz parte do nome do elemento. Um elemento definido com um caractere de tipo pode ser referenciado sem o caractere de tipo.

Caracteres de tipo de identificador

Visual Basic fornece um conjunto de caracteres de tipo de identificador que você pode usar em uma declaração para especificar o tipo de dados de uma variável ou constante. A tabela a seguir mostra os caracteres de tipo de identificador disponíveis com exemplos de uso.

Caractere de tipo de identificador Tipo de dados Exemplo
% Integer Dim L%
& Long Dim M&
@ Decimal Const W@ = 37.5
! Single Dim Q!
# Double Dim X#
$ String Dim V$ = "Secret"

Não existem caracteres de tipo de identificador para os Booleantipos de dados , Byte, Char, Date, ULongShortUIntegerObjectSByteou UShort para quaisquer tipos de dados compostos, como matrizes ou estruturas.

Em alguns casos, você pode acrescentar o $ caractere a uma função do Visual Basic, por exemplo Left$ , em vez de Left, para obter um valor retornado do tipo String.

Em todos os casos, o caractere de tipo identificador deve seguir imediatamente o nome do identificador.

Caracteres de tipo literal

Um literal é uma representação textual de um valor particular de um tipo de dados.

Tipos literais padrão

A forma de um literal como ele aparece em seu código normalmente determina seu tipo de dados. A tabela a seguir mostra esses tipos padrão.

Forma textual de literal Tipo de dados padrão Exemplo
Numérico, sem parte fracionada Integer 2147483647
Numérico, sem parte fracionária, muito grande para Integer Long 2147483648
Parte numérica, fracionada Double 1.2
Entre aspas duplas String "A"
Dentro de sinais numéricos Date #5/17/1993 9:32 AM#

Tipos literais forçados

Visual Basic fornece um conjunto de caracteres de tipo literal, que você pode usar para forçar um literal a assumir um tipo de dados diferente daquele que seu formulário indica. Você faz isso anexando o caractere ao final do literal. A tabela a seguir mostra os caracteres de tipo literal disponíveis com exemplos de uso.

Caractere de tipo literal Tipo de dados Exemplo
S Short I = 347S
I Integer J = 347I
L Long K = 347L
D Decimal X = 347D
F Single Y = 347F
R Double Z = 347R
US UShort L = 347US
UI UInteger M = 347UI
UL ULong N = 347UL
C Char Q = "."C

Não existem caracteres de tipo literal para os Booleantipos de dados , Byte, Date, ObjectSByte, , ou String para quaisquer tipos de dados compostos, como matrizes ou estruturas.

Os literais também podem usar os caracteres de tipo identificador (%, &, @, !, #$), assim como variáveis, constantes e expressões. No entanto, os caracteres de tipo literal (S, I, , DL, F, R, ) Cpodem ser usados apenas com literais.

Em todos os casos, o caractere de tipo literal deve seguir imediatamente o valor literal.

Literais hexadecimais, binários e octais

O compilador normalmente interpreta um literal inteiro para estar no sistema de números decimais (base 10). Você também pode definir um literal inteiro como um número hexadecimal (base 16) com o prefixo &H , como um número binário (base 2) com o prefixo &B e como um número octal (base 8) com o prefixo &O . Os algarismos que se seguem ao prefixo devem ser adequados para o sistema numérico. A tabela a seguir ilustra isso.

Base numérica Prefixo Valores de dígitos válidos Exemplo
Hexadecimal (base 16) &H 0-9 e A-F &HFFFF
Binário (base 2) &B 0-1 &B01111100
Octal (base 8) &O 0-7 &O77

A partir do Visual Basic 2017, você pode usar o caractere de sublinhado (_) como um separador de grupo para melhorar a legibilidade de um literal integral. O exemplo a seguir usa o _ caractere para agrupar um literal binário em grupos de 8 bits:

Dim number As Integer = &B00100010_11000101_11001111_11001101

Você pode seguir um literal prefixado com um caractere de tipo literal. O exemplo a seguir mostra isso.

Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US

No exemplo anterior, counter tem o valor decimal de -32768 e flags tem o valor decimal de +32768.

A partir do Visual Basic 15.5, você também pode usar o caractere de sublinhado (_) como um separador à esquerda entre o prefixo e os dígitos hexadecimais, binários ou octais. Por exemplo:

Dim number As Integer = &H_C305_F860

Para usar o caractere de sublinhado como um separador à esquerda, você deve adicionar o seguinte elemento ao seu arquivo de projeto do Visual Basic (*.vbproj):

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Para obter mais informações, consulte Selecione a versão da linguagem Visual Basic.

Consulte também