Dela via


Skriv tecken (Visual Basic)

Förutom att ange en datatyp i en deklarationssats kan du framtvinga datatypen för vissa programmeringselement med ett typtecken. Typtecknet måste omedelbart följa elementet, utan mellanliggande tecken av något slag.

Typtecknet är inte en del av elementets namn. Ett element som definierats med ett typtecken kan refereras utan typtecknet.

Tecken för identifierartyp

Visual Basic tillhandahåller en uppsättning tecken av identifierartyp som du kan använda i en deklaration för att ange datatypen för en variabel eller konstant. I följande tabell visas tillgängliga tecken av identifierartyp med exempel på användning.

Tecken för identifierartyp Datatyp Exempel
% Integer Dim L%
& Long Dim M&
@ Decimal Const W@ = 37.5
! Single Dim Q!
# Double Dim X#
$ String Dim V$ = "Secret"

Det finns inga tecken av typen identifierartyp för datatyperna Boolean, Byte, Char, Date, SByteObject, ShortUInteger, ULongeller UShort för sammansatta datatyper, till exempel matriser eller strukturer.

I vissa fall kan du lägga till $ tecknet i en Visual Basic-funktion, till exempel Left$ i stället Leftför , för att hämta ett returnerat värde av typen String.

I samtliga fall måste tecknet för identifierartyp omedelbart följa identifierarnamnet.

Tecken av typen Literal

En literal är en textrepresentation av ett visst värde av en datatyp.

Standardliterala typer

Formen av en literal som den visas i koden avgör vanligtvis dess datatyp. I följande tabell visas dessa standardtyper.

Textform av literal Standarddatatyp Exempel
Numerisk, ingen bråkdel Integer 2147483647
Numerisk, ingen bråkdel, för stor för Integer Long 2147483648
Numerisk, bråkdel Double 1.2
Omges av dubbla citattecken String "A"
Omsluten inom nummerskyltar Date #5/17/1993 9:32 AM#

Typer av framtvingade literaler

Visual Basic tillhandahåller en uppsättning tecken av literaltyp som du kan använda för att tvinga en literal att anta en annan datatyp än den som formuläret anger. Det gör du genom att lägga till tecknet i slutet av literalen. I följande tabell visas tillgängliga tecken av typen literal med exempel på användning.

Tecken av literaltyp Datatyp Exempel
S Short I = 347S
I Integer J = 347I
L Long K = 347L
D Decimal X = 347D
F Single Y = 347F
R Double Z = 347R
US UShort L = 347US
UI UInteger M = 347UI
UL ULong N = 347UL
C Char Q = "."C

Det finns inga tecken av typen literaltyp för datatyperna Boolean, Byte, Date, Object, SByteeller String för sammansatta datatyper, till exempel matriser eller strukturer.

Literaler kan också använda tecken av identifierartyp (%, , &@, !, #, , $), liksom variabler, konstanter och uttryck. Tecken av typen literal (S, , LI, D, F, R, , C) kan dock endast användas med literaler.

I samtliga fall måste teckentypen literal omedelbart följa literalvärdet.

Hexadecimala, binära och oktala literaler

Kompilatorn tolkar normalt en heltalsliteral som i decimaltalssystemet (bas 10). Du kan också definiera en heltalsliteral som ett hexadecimalt tal (bas 16) med prefixet &H , som ett binärt tal (bas 2) med prefixet &B och som ett oktalt tal (bas 8) med prefixet &O . De siffror som följer prefixet måste vara lämpliga för talsystemet. Följande tabell illustrerar detta.

Nummerbas Prefix Giltiga siffervärden Exempel
Hexadecimalt (bas 16) &H 0-9 och A-F &HFFFF
Binärt (bas 2) &B 0-1 &B01111100
Oktal (bas 8) &O 0-7 &O77

Från och med Visual Basic 2017 kan du använda understreckstecknet (_) som gruppavgränsare för att förbättra läsbarheten för en integralliteral. I följande exempel används _ tecknet för att gruppera en binär literal i 8-bitarsgrupper:

Dim number As Integer = &B00100010_11000101_11001111_11001101

Du kan följa en prefixliteral med ett literaltyptecken. Följande exempel visar detta.

Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US

I föregående exempel counter har decimalvärdet -32768 och flags decimalvärdet +32768.

Från och med Visual Basic 15.5 kan du också använda understreckstecknet (_) som en inledande avgränsare mellan prefixet och hexadecimala, binära eller oktala siffror. Till exempel:

Dim number As Integer = &H_C305_F860

Om du vill använda understreckstecknet som en inledande avgränsare måste du lägga till följande element i visual basic-projektfilen (*.vbproj):

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Mer information finns i Välj språkversion för Visual Basic.

Se även