Compartir a través de


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 tiene el lugar de un literal y conserva este mismo valor en todo el programa, en lugar de una variable, cuyo valor puede cambiar.

Cuando 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 de MyByte se declara explícitamente como tipo de Byte.

Option Strict On

Public Class Sample
  Public Const MyByte As Byte = 2
End Class

Cuando Option Infer es On o Option Strict es Off, puede declarar una constante sin especificar un tipo de datos con una As cláusula . El compilador determina el tipo de la constante 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 para los números de punto flotante es Doubley las palabras clave True y False especifican una Boolean constante.

Literales y coerción de tipos

En algunos casos, es posible que desee ajustar un literal a un tipo de datos específico; por ejemplo, al asignar un valor literal entero muy grande a una variable de tipo Decimal. En el ejemplo siguiente se produce un error:

Dim myDecimal as Decimal  
myDecimal = 100000000000000000000   ' This causes a compiler error.  

El error se debe a la representación del literal. El Decimal tipo de datos puede contener un valor tan grande, pero el literal se representa implícitamente como un Long, que no puede hacerlo.

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 D carácter de tipo 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 dato 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