Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um literal é um valor expresso como ele mesmo e não como o valor de uma variável ou o resultado de uma expressão, como o número 3 ou a cadeia de caracteres "Hello". Uma constante é um nome significativo que assume 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 a opção Infer estiver Off
e a opção Estrito estiver On
, você deverá declarar todas as constantes explicitamente com um tipo de dados. No exemplo a seguir, o tipo de dados de MyByte
é declarado explicitamente como 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 uma As
cláusula. O compilador determina o tipo da constante do tipo da expressão. Um literal inteiro numérico é 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
.
Literais e coerção de tipo
Em alguns casos, talvez você queira forçar um literal a um tipo de dados específico; por exemplo, ao atribuir um valor literal integral particularmente 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 do literal. O Decimal
tipo de dados pode conter um valor tão grande, mas o literal é representado implicitamente como um Long
, o que não pode.
Você pode coagir um literal a um tipo de dados específico de duas maneiras: acrescentando um caractere de tipo a ele ou colocando-o dentro de caracteres de delimitadores. Um caractere de tipo ou caracteres delimitadores deve preceder imediatamente e/ou seguir o literal, sem espaço ou caracteres intervindo de qualquer tipo.
Para fazer o exemplo anterior funcionar, você pode acrescentar o caractere de D
tipo 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 de caracteres de tipo e caracteres delimitadores:
' 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 os caracteres de tipo disponíveis no Visual Basic.
Tipo de dados | Caractere delimitador | Caractere de tipo acrescentado |
---|---|---|
Boolean |
(nenhuma) | (nenhuma) |
Byte |
(nenhuma) | (nenhuma) |
Char |
" | C |
Date |
# | (nenhuma) |
Decimal |
(nenhuma) | D ou @ |
Double |
(nenhuma) | R ou # |
Integer |
(nenhuma) | I ou % |
Long |
(nenhuma) | L ou & |
Short |
(nenhuma) | S |
Single |
(nenhuma) | F ou ! |
String |
" | (nenhuma) |