Caracteres de tipo (Visual Basic)
Además de especificar un tipo de datos en una instrucción de declaración, puede forzar el tipo de datos de algunos elementos de programación con un carácter de tipo. El carácter de tipo debe seguir inmediatamente al elemento, sin caracteres intermedios de ninguna clase.
El carácter de tipo no forma parte del nombre del elemento. Se puede hacer referencia a un elemento definido con un carácter de tipo sin necesidad de que este aparezca.
Caracteres de tipo identificador
Visual Basic proporciona un conjunto de caracteres de tipo identificador que puede usar en una declaración para especificar el tipo de datos de una variable o constante. En la tabla siguiente se muestran los caracteres de tipo identificador disponibles con ejemplos de uso.
Carácter de tipo identificador | Tipo de datos | Ejemplo |
---|---|---|
% |
Integer |
Dim L% |
& |
Long |
Dim M& |
@ |
Decimal |
Const W@ = 37.5 |
! |
Single |
Dim Q! |
# |
Double |
Dim X# |
$ |
String |
Dim V$ = "Secret" |
No existen caracteres de tipo identificador para los tipos de datos Boolean
, Byte
, Char
, Date
, Object
, SByte
, Short
, UInteger
, ULong
o UShort
, ni para ningún tipo de datos compuesto como matrices o estructuras.
En algunos casos, puede anexar el carácter $
a una función de Visual Basic, por ejemplo Left$
, en lugar de Left
, para obtener un valor devuelto del tipo String
.
En todos los casos, el carácter de tipo identificador debe seguir inmediatamente el nombre del identificador.
Caracteres de tipo literal
Un literal es una representación textual de un valor determinado de un tipo de datos.
Tipos literales predeterminados
La forma de un literal tal como aparece en el código normalmente determina su tipo de datos. En la tabla siguiente se muestran estos tipos predeterminados.
Forma textual del literal | Tipo de datos predeterminado | Ejemplo |
---|---|---|
Elemento numérico, sin fracciones | Integer |
2147483647 |
Elemento numérico, sin fracciones, demasiado grande para Integer |
Long |
2147483648 |
Elemento numérico, fraccional | Double |
1.2 |
Entre comillas dobles | String |
"A" |
Entre signos numéricos | Date |
#5/17/1993 9:32 AM# |
Tipos literales forzados
Visual Basic proporciona un conjunto de caracteres de tipo literal que puede usar para forzar que un literal asuma un tipo de datos distinto del que indica su forma. Para ello, anexe el carácter al final del literal. En la tabla siguiente se muestran los caracteres de tipo literal disponibles con ejemplos de uso.
Carácter de tipo literal | Tipo de datos | Ejemplo |
---|---|---|
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 |
No existen caracteres de tipo literal para los tipos de datos Boolean
, Byte
, Date
, Object
, SByte
o String
, ni para ningún tipo de datos compuesto como matrices o estructuras.
Los literales también pueden usar los caracteres de tipo identificador (%
, &
, @
, !
, #
, $
), al igual que las variables, constantes y expresiones. Sin embargo, los caracteres de tipo literal (S
, I
, L
, D
, F
, R
, C
) solo se pueden usar con literales.
En todos los casos, el carácter de tipo literal debe seguir inmediatamente al valor literal.
Literales hexadecimales, binarios y octales
Normalmente, el compilador interpreta que un literal entero está en el sistema numérico decimal (base 10). También puede definir un literal entero como un número hexadecimal (base 16) con el prefijo &H
, como un número binario (base 2) con el prefijo &B
y como un número octal (base 8) con el prefijo &O
. Los dígitos que siguen al prefijo deben ser adecuados para el sistema numérico. En la tabla siguiente se muestra esto.
Base numérica | Prefijo | Valores de dígito válidos | Ejemplo |
---|---|---|---|
Hexadecimal (base 16) | &H |
0-9 y A-F | &HFFFF |
Binario (base 2) | &B |
0-1 | &B01111100 |
Octal (base 8) | &O |
0-7 | &O77 |
A partir de Visual Basic 2017, puede usar el carácter de subrayado (_
) como separador de grupos para mejorar la legibilidad de un literal entero. En el ejemplo siguiente se usa el carácter _
para agrupar un literal binario en grupos de 8 bits:
Dim number As Integer = &B00100010_11000101_11001111_11001101
Un carácter de tipo literal puede seguir a un literal con prefijo. Esto se muestra en el ejemplo siguiente.
Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US
En el ejemplo anterior, counter
tiene el valor decimal de -32768 y flags
tiene el valor decimal de +32768.
A partir de Visual Basic 15.5 también puede usar el carácter de subrayado (_
) como separador inicial entre el prefijo y los dígitos hexadecimales, binarios u octales. Por ejemplo:
Dim number As Integer = &H_C305_F860
Para usar el carácter de subrayado como separador inicial, debe agregar el elemento siguiente al archivo del proyecto de Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Para más información, consulte Selección de la versión del lenguaje de Visual Basic.