Dela via


Konstanta och literala datatyper (Visual Basic)

En literal är ett värde som uttrycks som sig själv i stället för som en variabels värde eller resultatet av ett uttryck, till exempel talet 3 eller strängen "Hello". En konstant är ett meningsfullt namn som ersätter en literal och behåller samma värde i hela programmet, till skillnad från en variabel, vars värde kan ändras.

När Alternativ härledning är Off och Alternativet Strikt är Onmåste du deklarera alla konstanter explicit med en datatyp. I följande exempel deklareras datatypen för MyByte explicit som datatyp Byte:

Option Strict On

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

När Option Infer är On eller Option Strict är Offkan du deklarera en konstant utan att ange en datatyp med en As sats. Kompilatorn avgör typen av konstant från typen av uttryck. En numerisk heltalsliteral omvandlas som standard till Integer datatypen. Standarddatatypen för flyttalsnummer är Double, och nyckelorden True och False anger en Boolean konstant.

Literaler och typtvång

I vissa fall kanske du vill framtvinga en literal till en viss datatyp. När du till exempel tilldelar ett särskilt stort integralliteralt värde till en variabel av typen Decimal. Följande exempel genererar ett fel:

Dim myDecimal as Decimal  
myDecimal = 100000000000000000000   ' This causes a compiler error.  

Felet beror på representationen av literalen. Datatypen Decimal kan innehålla ett så här stort värde, men literalen representeras implicit som en Long, vilket inte kan.

Du kan tvinga en literal till en viss datatyp på två sätt: genom att lägga till ett typtecken i den eller genom att placera den inom omslutande tecken. Ett typtecken eller omslutande tecken måste omedelbart föregå och/eller följa literalen, utan mellanliggande blanksteg eller tecken av något slag.

Om du vill att föregående exempel ska fungera kan du lägga till D typtecknet i literalen, vilket gör att det representeras som :Decimal

Dim MyDecimal As Decimal = 100000000000000000000D

I följande exempel visas korrekt användning av typtecken och omslutande tecken:

' 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!

I följande tabell visas de omslutande tecknen och typtecken som är tillgängliga i Visual Basic.

Datatyp Omslutande tecken Tecken av bifogad typ
Boolean (inget) (inget)
Byte (inget) (inget)
Char " C
Date # (inget)
Decimal (inget) D eller @
Double (inget) R eller #
Integer (inget) I eller %
Long (inget) L eller &
Short (inget) S
Single (inget) F eller !
String " (inget)

Se även