Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Литерал — это значение, которое выражается как само по себе, а не как значение переменной или результат выражения, например число 3 или строку Hello. Константой является понятное имя, которое занимает место литерала и сохраняет это же значение во всей программе, в отличие от переменной, значение которой может измениться.
Если Option Infer равно Off
, а Option Strict равно On
, необходимо явно объявить все константы с указанием типа данных. В следующем примере тип данных MyByte
явно объявлен как тип данных Byte
.
Option Strict On
Public Class Sample
Public Const MyByte As Byte = 2
End Class
Когда Option Infer
равно On
или Option Strict
равно Off
, можно объявить константу без указания типа данных, используя предложение As
. Компилятор определяет тип константы из типа выражения. Целочисленный литерал по умолчанию приводится к типу Integer
данных. Тип данных по умолчанию для чисел с плавающей запятой — Double
, а ключевые слова True
и False
определяют константу Boolean
.
Литералы и приведение типов
В некоторых случаях может потребоваться принудительно применить литерал к конкретному типу данных; например, при назначении особенно большого целочисленного литерального значения переменной типа Decimal
. В следующем примере возникает ошибка:
Dim myDecimal as Decimal
myDecimal = 100000000000000000000 ' This causes a compiler error.
Ошибка возникает из-за представления литерала. Тип Decimal
данных может содержать значение такого размера, но литерал неявно представлен как Long
, который не может.
Можно преобразовать литерал в конкретный тип данных двумя способами: добавив к нему символ типа или поместив его в скобки. Символ типа или вложенные символы должны немедленно предшествовать и/или следовать литералу без пересекающегося пространства или символов любого вида.
Чтобы заставить предыдущий пример работать, можно добавить символ типа D
к литералу, что приводит к его представлению как Decimal
:
Dim MyDecimal As Decimal = 100000000000000000000D
В следующем примере показано правильное использование типовых и вложенных символов.
' 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!
В следующей таблице показаны ограничивающие символы и символы типов, имеющиеся в Visual Basic.
Тип данных | Заключающий символ | Символ добавленного типа |
---|---|---|
Boolean |
(нет) | (нет) |
Byte |
(нет) | (нет) |
Char |
" | С |
Date |
# | (нет) |
Decimal |
(нет) | D или @ |
Double |
(нет) | R или # |
Integer |
(нет) | Я или % |
Long |
(нет) | L или & |
Short |
(нет) | С |
Single |
(нет) | F или ! |
String |
" | (нет) |