Compartir a través de


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

Cómo: Declarar una constante

Cómo: Declarar enumeraciones

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

Referencia

Option Strict (Instrucción)

Instrucción Option Explicit (Visual Basic)

Resumen de tipos de datos (Visual Basic)