Tipos de Dado Constante e Literal

Um literal é um valor que é expresso como si mesmo em vez de como um valor variável ou o resultado de uma expressão, como o número 3 ou a sequência "Alô".Uma constante é um nome significativo que toma o lugar de um literal e mantém esse mesmo valor em todo o programa, em oposição a uma variável, cujo valor pode ser alterado.

Quando Option Strict é On, você deve declarar todas as constantes explicitamente com um tipo de dados.No exemplo a seguir, o tipo de dados do MyByte é declarado explicitamente como tipo de dados Byte:

Option Strict On

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

Declarar explicitamente os tipos de dados é não ambíguo, e o código digitado é mais fácil de ler e manter que o código não digitado.Quando Option Strict é Off, no entanto, o compilador usa o tipo da expressão usada para inicializar a constante.Um literal numérico inteiro é convertido, por padrão, para o tipo de dados Integer.O tipo de dados padrão para números de ponto flutuante é Double e as palavras-chave True e False especificam uma constante Boolean.

Coerção de Literais e Tipos

Em alguns casos, você talvez queira forçar um literal para um determinado tipo de dados; por exemplo, ao atribuir um valor literal inteiro muito grande a uma variável do tipo Decimal.O exemplo a seguir produz um erro:

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

O erro resulta da representação da literal.O tipo de dados Decimal pode conter um valor muito grande, mas o literal implicitamente é representado como Long, o que não é possível.

Você pode forçar um literal para um tipo de dados específico de duas maneiras: anexando um caractere de tipo para ele ou colocando-o dentro de caracteres de delimitador.Um caractere de tipo ou delimitador caracteres deve imediatamente preceder e/ou suceder o literal, sem nenhum espaço intermediárias ou caracteres de qualquer tipo.

Para fazer o exemplo anterior funcionar, você pode acrescentar o caractere de tipo D ao literal, o que faz com que ele seja representado como um Decimal:

Dim MyDecimal As Decimal = 100000000000000000000D

O exemplo a seguir demonstra o uso correto dos caracteres delimitadores de tipo e:

' 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!

A tabela a seguir mostra os caracteres delimitadores e tipos de caracteres disponíveis no Visual Basic.

Tipo de dados

Caracteres delimitadores

Caractere de tipo acrescentado

Boolean

(Nenhum)

(Nenhum)

Byte

(Nenhum)

(Nenhum)

Char

"

C

Date

#

(Nenhum)

Decimal

(Nenhum)

D ou @

Double

(Nenhum)

R ou #

Integer

(Nenhum)

I ou %

Long

(Nenhum)

L ou &

Short

(Nenhum)

S

Single

(Nenhum)

F ou !

String

"

(Nenhum)

Consulte também

Tarefas

Como: Declarar uma constante

Como: Declarar enumerações

Conceitos

Constantes Definidas pelo Usuário

Visão Geral sobre as Constantes

Visão geral de enumerações

Enumerações e Qualificações de Nome

Constantes Intrínsecas e Enumerações

Referência

Opção declaração estrito

Opção Explicit demonstrativo (Visual Basic)

Resumo de tipo de dados (Visual Basic)