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 Bytedanych:

Option Strict On

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

Gdy Option Infer parametr jest lub OnOption Strict ma Offwartość , 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)

Zobacz też