Udostępnij za pośrednictwem


Stałe i literałowe typy danych (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 zastępuje stałą literałową i zachowuje swoją wartość w całym programie, w odróżnieniu od zmiennej, której wartość może ulec zmianie.

Jeśli opcja Infer jest Off i opcja Strict jest On, należy jawnie zadeklarować wszystkie stałe z określonym 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 jest On lub Option Strict jest Off, można zadeklarować stałą bez określania typu danych za pomocą klauzuli As. Kompilator określa typ stałej z typu wyrażenia. Literał liczby całkowitej jest domyślnie rzutowany na typ danych Integer. Domyślnym typem danych dla liczb zmiennoprzecinkowych jest Double, a słowa kluczowe True i False określają 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óry tego nie może.

Literał można przypisać do określonego typu danych na dwa sposoby: dołączając do niego znak typu lub umieszczając go w otaczających znakach. Znak typu lub znaki otaczające muszą natychmiast poprzedzać i/lub podążać za literałem, bez odstępów ani jakichkolwiek innych znaków.

Aby poprzedni przykład zadziałał, można dołączyć znak typu D 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 zamykających.

' 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 dodanego typu
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 także