Megosztás a következőn keresztül:


Állandó és literális adattípusok (Visual Basic)

A literál olyan érték, amely önmagaként van kifejezve, nem pedig egy változó értékeként vagy egy kifejezés eredményeként, például a 3-as szám vagy a "Hello" karakterlánc. Az állandó egy értelmes név, amely egy literál helyére kerül, és ugyanazt az értéket megőrzi a programban, szemben egy változóval, amelynek értéke változhat.

Ha az Option Infer be van kapcsolva, és az Off is, akkor az összes állandót expliciten megadott adattípussal kell deklarálni. Az alábbi példában az adattípus MyByte kifejezetten adattípusként Bytevan deklarálva:

Option Strict On

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

Ha Option InferOn vagy Option StrictOff, konstanst deklarálhat anélkül, hogy megadná az adattípust egy As záradékkal. A fordító a kifejezés típusából határozza meg az állandó típusát. A numerikus egész literál alapértelmezés szerint az Integer adattípusra konvertálódik. A lebegőpontos számok alapértelmezett adattípusa a Double, és a True és False kulcsszavak egy Boolean állandót adnak meg.

Konstansok és a kényszerítés beírása

Bizonyos esetekben előfordulhat, hogy konstanst szeretne egy adott adattípusra kényszeríteni, például ha egy különösen nagy, egész literál értéket rendel egy Decimal típusú változóhoz. Az alábbi példa hibát okoz:

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

A hiba a literál reprezentációjából ered. Az Decimal adattípus ekkora értéket tartalmazhat, de a literál implicit módon egy olyan értékként Longvan ábrázolva, amely nem.

Egy adott adattípushoz kétféleképpen kényszeríthet literált: egy típuskarakter hozzáfűzésével vagy határoló karakterek közé helyezéssel. A típuskarakternek vagy a belefoglaló karaktereknek közvetlenül a literál előtt és/vagy után kell lenniük, és semmilyen szóköz vagy más karakter nem lehet közöttük.

Az előző példa működéséhez hozzáfűzheti a D típus karaktert a literálhoz, ami miatt a következőként Decimaljelenik meg:

Dim MyDecimal As Decimal = 100000000000000000000D

Az alábbi példa bemutatja a típuskarakterek helyes használatát és a karakterek beágyazását:

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

A következő táblázat a zárójeleket és a típuskaraktereket mutatja be, amelyek a Visual Basicben elérhetők.

Adattípus Karakter beágyazása Hozzáfűzett típus karakter
Boolean (nincs) (nincs)
Byte (nincs) (nincs)
Char C
Date # (nincs)
Decimal (nincs) D vagy @
Double (nincs) R vagy #
Integer (nincs) Én vagy %
Long (nincs) L vagy &
Short (nincs) S
Single (nincs) F vagy !
String (nincs)

Lásd még