Compartilhar via


Constante e tipos de dados literais (Visual Basic)

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 Infer é Off e Option Strict é On, você deve declarar explicitamente todas as constantes 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

Quando Option Infer é On ou Option Strict é Off, você pode declarar uma constante sem especificar um tipo de dados com um As cláusula.O compilador determina o tipo da constante do tipo da expressão.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 a um determinado tipo de dados de duas maneiras: anexando um caractere de tipo a ele ou o colocando entre caracteres delimitadores.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 (Visual Basic)

Como: declarar enumerações (Visual Basic)

Referência

Opção Strict Statement

Opção Explicit Statement (Visual Basic)

Resumo do tipo de dados (Visual Basic)

Conceitos

Constantes definidas pelo usuário (Visual Basic)

Visão geral de constantes (Visual Basic)

Visão geral de enumerações (Visual Basic)

Enumerações e qualificação de nome (Visual Basic)

Constantes e enumerações (Visual Basic)