Tipos de datos constantes y literales
Actualización: noviembre 2007
Un literal es un valor que se expresa a sí mismo en lugar de a un valor de variable o el resultado de una expresión, como el número 3 o la cadena "Hello". Una constante es un nombre descriptivo que sustituye a un literal y retiene este mismo valor a lo largo del programa, lo que se opone a una variable cuyo valor puede cambiar.
Cuando Option Strict es On, debe declarar todas las constantes explícitamente con un tipo de datos. En el siguiente ejemplo, el tipo de datos de MyByte se declara explícitamente como tipo de datos Byte:
Option Strict On
Public Class Sample
Public Const MyByte As Byte = 2
End Class
La declaración explícita de los tipos de datos es inequívoca, y el código con tipo es más fácil de leer y mantener. No obstante, si Option Strict es Off, el compilador utiliza el tipo de la expresión que se usa para inicializar la constante. Un literal entero numérico se convierte a tipo de datos Integer de manera predeterminada. El tipo de datos predeterminado para números de punto flotante es Double, y las palabras clave True y False especifican una constante de tipo Boolean.
Literales y conversión de tipos
En algunos casos, puede que sea conveniente forzar un literal a un tipo de datos concreto, por ejemplo, al asignar un valor literal integral de gran tamaño a una variable de tipo Decimal. El siguiente ejemplo produce un error:
Dim myDecimal as Decimal
myDecimal = 100000000000000000000 ' This causes a compiler error.
El error tiene su origen en la representación del literal. El tipo de datos Decimal puede contener un valor de este tamaño. Sin embargo, el literal se representa implícitamente como Long, lo que no es posible.
Se puede forzar la conversión de un literal a un tipo de datos concreto de dos maneras: agregándole un carácter de tipo o encerrándolo entre caracteres de inclusión. El carácter de tipo o los caracteres de inclusión deben ir justo antes o a continuación del literal, sin ningún espacio o caracteres intermedios.
Para que funcione el ejemplo anterior, se anexa el carácter de tipo D al literal para que sea representado como un Decimal:
Dim MyDecimal As Decimal = 100000000000000000000D
En el ejemplo siguiente se muestra la utilización correcta de los caracteres de tipo y de inclusión:
' Default to Integer.
Public Const DefaultInteger As Integer = 100
' Default to Double.
Public Const DefaultDouble As Double = 54.3345612
' Force constant to be type Char.
Public Const MyCharacter As Char = "a"c
' DateTime constants.
Public Const MyDate As DateTime = #1/15/2001#
Public Const MyTime As DateTime = #1:15:59 AM#
' Force data type to be Long.
Public Const MyLong As Long = 45L
' Force data type to be Single.
Public Const MySingle As Single = 45.55!
En la siguiente tabla se muestran los caracteres de inclusión y los caracteres de tipo disponibles en Visual Basic.
Tipo de datos |
Carácter de inclusión |
Carácter de tipo anexado |
---|---|---|
Boolean |
(ninguna) |
(ninguna) |
Byte |
(ninguna) |
(ninguna) |
Char |
" |
C |
Date |
# |
(ninguna) |
Decimal |
(ninguna) |
D o @ |
Double |
(ninguna) |
R o # |
Integer |
(ninguna) |
I o % |
Long |
(ninguna) |
L o & |
Short |
(ninguna) |
S |
Single |
(ninguna) |
F o ! |
String |
" |
(ninguna) |
Vea también
Tareas
Conceptos
Constantes definidas por el usuario
Información general sobre las constantes
Información general sobre las enumeraciones
Enumeraciones y calificación de nombres
Constantes y enumeraciones intrínsecas