Stała i typy literałów (Visual Basic)
Literał to wartość wyrażona jako sama, a nie wartość zmiennej lub wynik wyrażenia, na przykład liczba 3 lub ciąg "Hello". Stała to znacząca nazwa, która ma miejsce literału i zachowuje tę samą wartość w całym programie, w przeciwieństwie do zmiennej, której wartość może ulec zmianie.
Jeśli wywnioskujeszOff
opcję i opcja Strict to On
, należy jawnie zadeklarować wszystkie stałe z typem danych. W poniższym przykładzie typ MyByte
danych jest jawnie zadeklarowany jako typ Byte
danych:
Option Strict On
Public Class Sample
Public Const MyByte As Byte = 2
End Class
Gdy Option Infer
parametr jest lub On
Option Strict
ma Off
wartość , można zadeklarować stałą bez określania typu danych z klauzulą As
. Kompilator określa typ stałej z typu wyrażenia. Literał liczbowych liczb całkowitych jest domyślnie rzutowany na Integer
typ danych. Domyślnym typem danych dla liczb zmiennoprzecinkowych jest Double
, a słowa kluczowe True
i False
określ stałą Boolean
.
Literały i typ coercion
W niektórych przypadkach możesz wymusić literał określonego typu danych; na przykład podczas przypisywania szczególnie dużej wartości literału całkowitego do zmiennej typu Decimal
. Poniższy przykład generuje błąd:
Dim myDecimal as Decimal
myDecimal = 100000000000000000000 ' This causes a compiler error.
Błąd wynika z reprezentacji literału. Typ Decimal
danych może przechowywać tę dużą wartość, ale literał jest niejawnie reprezentowany jako Long
, którego nie można.
Literał do określonego typu danych można połączyć na dwa sposoby: dołączając do niego znak typu lub umieszczając go w ujętach znakach. Znak typu lub znaki otaczające muszą natychmiast poprzedzać i/lub podążać za literałem bez interweniowania spacji ani znaków dowolnego rodzaju.
Aby wykonać poprzedni przykład pracy, można dołączyć D
znak typu do literału, co powoduje, że jest on reprezentowany jako :Decimal
Dim MyDecimal As Decimal = 100000000000000000000D
W poniższym przykładzie pokazano prawidłowe użycie znaków typu i znaków ujętych w znaki:
' 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!
W poniższej tabeli przedstawiono otaczające znaki i znaki typu dostępne w Visual Basic.
Typ danych | Znak otaczający | Znak typu dołączanego |
---|---|---|
Boolean |
(brak) | (brak) |
Byte |
(brak) | (brak) |
Char |
" | C |
Date |
# | (brak) |
Decimal |
(brak) | D lub @ |
Double |
(brak) | R lub # |
Integer |
(brak) | I lub % |
Long |
(brak) | L lub & |
Short |
(brak) | S |
Single |
(brak) | F lub ! |
String |
" | (brak) |