Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bei einem Literal handelt es sich um einen Wert, der nicht als Wert einer Variablen oder als Ergebnis eines Ausdrucks ausgedrückt wird, z. B. die Zahl 3 oder die Zeichenfolge "Hello". Eine Konstante ist ein aussagekräftiger Name, der anstelle eines Literals verwendet wird und im gesamten Programm denselben Wert beibehält, im Gegensatz zu einer Variablen, deren Wert sich ändern kann.
Wenn Option Infer ist Off
und Option Strict ist On
, müssen Sie alle Konstanten explizit mit einem Datentyp deklarieren. Im folgenden Beispiel wird der Datentyp MyByte
explizit als Datentyp Byte
deklariert:
Option Strict On
Public Class Sample
Public Const MyByte As Byte = 2
End Class
Ist Option Infer
On
oder Option Strict
Off
, können Sie eine Konstante deklarieren, ohne einen Datentyp mit einer As
Klausel anzugeben. Der Compiler bestimmt den Typ der Konstante vom Typ des Ausdrucks. Ein numerisches ganzzahliges Literal wird standardmäßig in den Integer
Datentyp umgewandelt. Der Standarddatentyp für Gleitkommazahlen lautet Double
, und die Schlüsselwörter True
und False
geben eine Boolean
Konstante an.
Literale und Typkoercion
In einigen Fällen können Sie ein Literal auf einen bestimmten Datentyp erzwingen. beispielsweise beim Zuweisen eines besonders großen integralen Literalwerts zu einer Variablen vom Typ Decimal
. Im folgenden Beispiel wird ein Fehler erzeugt:
Dim myDecimal as Decimal
myDecimal = 100000000000000000000 ' This causes a compiler error.
Der Fehler ergibt sich aus der Darstellung des Literals. Der Decimal
Datentyp kann einen Wert von dieser Größe enthalten, aber das Literal wird implizit als ein Long
dargestellt, das dies nicht kann.
Sie können ein Literal auf zwei Arten an einen bestimmten Datentyp übertragen: indem Sie ein Typzeichen an ihn anfügen oder es in einschließende Zeichen platzieren. Ein Typzeichen oder umschließende Zeichen müssen dem Literal unmittelbar voran und/oder folgen, ohne zwischengeschaltete Leerzeichen oder Zeichen jeglicher Art.
Damit das vorherige Beispiel funktioniert, können Sie das D
Typzeichen an das Literal anfügen, was dazu führt, dass es als Decimal
dargestellt wird.
Dim MyDecimal As Decimal = 100000000000000000000D
Im folgenden Beispiel wird die korrekte Verwendung von Typzeichen und eingeschlossenen Zeichen veranschaulicht:
' 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!
Die folgende Tabelle zeigt die in Visual Basic verfügbaren Umklammer- und Typzeichen.
Datentyp | Umschließendes Zeichen | Angefügtes Typzeichen |
---|---|---|
Boolean |
(kein) | (kein) |
Byte |
(kein) | (kein) |
Char |
" | C |
Date |
# | (kein) |
Decimal |
(kein) | D oder @ |
Double |
(kein) | R oder # |
Integer |
(kein) | I oder % |
Long |
(kein) | L oder & |
Short |
(kein) | S |
Single |
(kein) | F oder ! |
String |
" | (kein) |