Tipos de datos constantes y literales (Visual Basic)

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 Infer es Off y 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

Cuando 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 del tipo de expresión. 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

(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)

Vea también

Tareas

Cómo: Declarar una constante (Visual Basic)

Cómo: Declarar enumeraciones (Visual Basic)

Referencia

Option Strict (Instrucción)

Option Explicit (Instrucción, Visual Basic)

Resumen de tipos de datos (Visual Basic)

Conceptos

Constantes definidas por el usuario (Visual Basic)

Información general sobre las constantes (Visual Basic)

Información general sobre las enumeraciones (Visual Basic)

Enumeraciones y calificación de nombres (Visual Basic)

Constantes y enumeraciones (Visual Basic)