Поделиться через


Типы данных констант и литералов (Visual Basic)

Литерал — это значение, которое выражается как само по себе, а не как значение переменной или результат выражения, например число 3 или строку Hello. Константой является понятное имя, которое занимает место литерала и сохраняет это же значение во всей программе, в отличие от переменной, значение которой может измениться.

При выборе Off параметра и параметре StrictOnнеобходимо явно объявить все константы с типом данных. В следующем примере тип данных явно объявлен как тип MyByteByteданных:

Option Strict On

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

Если Option Infer это или Option Strict естьOffOn, можно объявить константу без указания типа данных с предложением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 (нет) I или %
Long (нет) L или &
Short (нет) S
Single (нет) F или !
String " (нет)

См. также