Caracteres de tipo (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 nenhum tipo de caractere intervindo.
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 identificador
O 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 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 tipos de dados Boolean
, Byte
, Char
, Date
, Object
, SByte
, Short
, UInteger
, ULong
ou UShort
para 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 de identificador deve seguir imediatamente o nome do identificador.
Caracteres de tipo literal
Um literal é uma representação textual de um valor específico de um tipo de dados.
Tipos de literal 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 os valores padrão.
Forma textual de literal | Tipo de dados padrão | Exemplo |
---|---|---|
Numérico, sem parte fracionária | Integer |
2147483647 |
Numérico, sem parte fracionária, muito grande para Integer |
Long |
2147483648 |
Parte numérica e fracionária | Double |
1.2 |
Entre aspas duplas | String |
"A" |
Entre sinais numéricos | Date |
#5/17/1993 9:32 AM# |
Tipos literais forçados
O 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 do que seu formulário indica. Você faz isso acrescentando 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 tipos de dados Boolean
, Byte
, Date
, Object
, SByte
ou String
para qualquer tipo de dados composto, como matrizes ou estruturas.
Literais também podem usar os caracteres de tipo de identificador (%
, &
, @
, !
, #
, $
) assim como variáveis, constantes e expressões. No entanto, os caracteres de tipo literal (S
, I
, L
, D
, F
, R
, C
) podem 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 decimal (base 10). Você também pode definir um literal inteiro como um número hexadecimal (base 16) com o &H
prefixo, como um número binário (base 2) com o &B
prefixo e como um número octal (base 8) com o &O
prefixo. Os dígitos que seguem o prefixo devem ser apropriados para o sistema de números. A tabela a seguir ilustra isso.
Base numérica | Prefixo | Valores de dígito 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 sublinhado (_
) como separador de grupo para aprimorar 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 a 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 decimais de +32768.
A partir do Visual Basic 15.5, você também pode usar o caractere de sublinhado (_
) como 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 separador à esquerda, você deve adicionar o seguinte elemento ao arquivo de projeto do Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Para obter mais informações, consulte Selecionar a versão da linguagem Visual Basic.