Constante en letterlijke gegevenstypen (Visual Basic)
Een letterlijke waarde is een waarde die wordt uitgedrukt als zichzelf in plaats van als de waarde van een variabele of het resultaat van een expressie, zoals het getal 3 of de tekenreeks 'Hallo'. Een constante is een betekenisvolle naam die de plaats van een letterlijke waarde inneemt en dezelfde waarde in het hele programma behoudt, in plaats van een variabele, waarvan de waarde kan veranderen.
Als Option Infer is en Option Strict isOn
Off
, moet u alle constanten expliciet declareren met een gegevenstype. In het volgende voorbeeld wordt het gegevenstype MyByte
expliciet gedeclareerd als gegevenstype Byte
:
Option Strict On
Public Class Sample
Public Const MyByte As Byte = 2
End Class
Wanneer Option Infer
is On
of Option Strict
is Off
, kunt u een constante declareren zonder een gegevenstype met een As
component op te geven. De compiler bepaalt het type van de constante van het type expressie. Een letterlijk numeriek geheel getal wordt standaard omgezet in het Integer
gegevenstype. Het standaardgegevenstype voor getallen met drijvende komma is Double
en de trefwoorden True
en False
geven een Boolean
constante op.
Letterlijke tekens en type coercion
In sommige gevallen wilt u mogelijk een letterlijke tekst afdwingen voor een bepaald gegevenstype; Bijvoorbeeld bij het toewijzen van een bijzonder grote letterlijke waarde aan een variabele van het type Decimal
. In het volgende voorbeeld wordt een fout gegenereerd:
Dim myDecimal as Decimal
myDecimal = 100000000000000000000 ' This causes a compiler error.
De fout resulteert in de weergave van de letterlijke gegevens. Het Decimal
gegevenstype kan een waarde bevatten die deze groot is, maar de letterlijke waarde wordt impliciet weergegeven als een Long
, wat niet kan.
U kunt een letterlijke tekst op twee manieren aan een bepaald gegevenstype koppelen: door er een typeteken aan toe te voegen of door het ingesloten tekens te plaatsen. Een typeteken of het insluiten van tekens moet direct voorafgaan aan en/of de letterlijke tekens volgen, zonder tussenliggende spatie of tekens van welke aard dan ook.
Als u het vorige voorbeeld wilt laten werken, kunt u het D
typeteken toevoegen aan de letterlijke tekst, waardoor het wordt weergegeven als:Decimal
Dim MyDecimal As Decimal = 100000000000000000000D
In het volgende voorbeeld ziet u het juiste gebruik van typetekens en het insluiten van tekens:
' 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!
In de volgende tabel ziet u de tekens insluiten en typt u tekens die beschikbaar zijn in Visual Basic.
Gegevenstype | Teken insluiten | Toegevoegd typeteken |
---|---|---|
Boolean |
(geen) | (geen) |
Byte |
(geen) | (geen) |
Char |
" | E |
Date |
# | (geen) |
Decimal |
(geen) | D of @ |
Double |
(geen) | R of # |
Integer |
(geen) | I of % |
Long |
(geen) | L of & |
Short |
(geen) | S |
Single |
(geen) | F of! |
String |
" | (geen) |