Tipos de datos constantes y literales (Visual Basic)
Un literal es un valor que se expresa como sí mismo en lugar de como el valor de una variable o el resultado de una expresión, como el número 3 o la cadena "Hello". Una constante es un nombre significativo que ocupa el lugar de un literal y conserva este mismo valor en todo el programa, a diferencia de una variable, cuyo valor puede cambiar.
Si Option Infer es Off
y Option Strict es On
, debe declarar todas las constantes explícitamente con un tipo de datos. En el ejemplo siguiente, el tipo de datos MyByte
se declara explícitamente como tipo de datos Byte
:
Option Strict On
Public Class Sample
Public Const MyByte As Byte = 2
End Class
Si Option Infer
es On
o Option Strict
es Off
, puede declarar una constante sin especificar un tipo de datos con una cláusula As
. El compilador determina el tipo de la constante a partir del tipo de la expresión. Un literal entero numérico se convierte de manera predeterminada en el tipo de datos Integer
. El tipo de datos predeterminado de los números de punto flotante es Double
, y las palabras clave True
y False
especifican una constante Boolean
.
Literales y coerción de tipos
En algunos casos, es posible que quiera forzar un literal a un tipo de datos determinado; por ejemplo, al asignar un valor literal entero particularmente grande a una variable de tipo Decimal
. El siguiente ejemplo genera un error:
Dim myDecimal as Decimal
myDecimal = 100000000000000000000 ' This causes a compiler error.
El error se debe a la representación del literal. El tipo de datos Decimal
puede contener un valor de este tamaño, pero el literal se representa implícitamente como Long
, que no puede.
Puede convertir un literal en un tipo de datos determinado de dos maneras: anexándole un carácter de tipo o colocándolo entre caracteres envolventes. El carácter de tipo o los caracteres envolventes deben preceder inmediatamente o seguir al literal, sin espacio o caracteres intermedios de ningún tipo.
Para que el ejemplo anterior funcione, puede anexar el carácter de tipo D
al literal, lo que hace que se represente como Decimal
:
Dim MyDecimal As Decimal = 100000000000000000000D
En el ejemplo siguiente se muestra el uso correcto de caracteres de tipo y caracteres envolventes:
' 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 tabla siguiente se muestran los caracteres envolventes y los caracteres de tipo disponibles en Visual Basic.
Tipo de datos | Carácter envolvente | Carácter de tipo anexado |
---|---|---|
Boolean |
(ninguno) | (ninguno) |
Byte |
(ninguno) | (ninguno) |
Char |
" | C |
Date |
# | (ninguno) |
Decimal |
(ninguno) | D o @ |
Double |
(ninguno) | R o # |
Integer |
(ninguno) | I o % |
Long |
(ninguno) | L o & |
Short |
(ninguno) | S |
Single |
(ninguno) | F o ! |
String |
" | (ninguno) |
Consulte también
- Constantes definidas por el usuario
- Procedimiento para declarar una constante
- Información general sobre las constantes
- Option Strict (instrucción)
- Option Explicit (instrucción)
- Información general sobre las enumeraciones
- Cómo: Declarar una enumeración
- Enumeraciones y calificación de nombres
- Tipo de datos
- Constantes y enumeraciones