Freigeben über


Zuweisungsanweisungen

Zuweisungsanweisungen führen Zuweisungsoperationen aus. Bei diesen wird ein Wert auf der rechten Seite des Zuweisungsoperators (=) in dem Element auf der linken Seite gespeichert, wie im folgenden Beispiel veranschaulicht.

v = 42

Im vorherigen Beispiel speichert die Zuweisungsanweisung den Literalwert 42 in der Variablen v.

Geeignete Programmierelemente

Das Programmierelement auf der linken Seite des Zuweisungsoperators muss einen Wert akzeptieren und speichern können. Es muss daher eine Variable oder Eigenschaft sein, die nicht ReadOnly (Visual Basic) ist, oder es muss ein Arrayelement sein. Im Kontext einer Zuweisungsanweisung wird ein solches Element zuweilen als l-Wert ("linker Wert") bezeichnet.

Der Wert auf der rechten Seite des Zuweisungsoperators wird durch einen Ausdruck generiert, der aus einer beliebigen Kombinationen von Literalen, Konstanten, Variablen, Eigenschaften, Arrayelementen, anderen Ausdrücken und Funktionsaufrufen bestehen kann. Dies wird anhand des folgenden Beispiels veranschaulicht:

x = y + z + findResult(3)

Im vorherigen Beispiel wird dem Wert in der Variablen z der Wert in der Variablen y hinzugefügt, und anschließend wird der durch den Aufruf der Funktion findResult zurückgegebene Wert hinzugefügt. Der Gesamtwert dieses Ausdrucks wird dann in der Variablen x gespeichert.

Datentypen in Zuweisungsanweisungen

Außer numerischen Wert kann der Zuweisungsoperator auch String-Werte zuweisen, wie im folgenden Beispiel veranschaulicht.

Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.

Sie können auch Boolean-Werte zuweisen, entweder mit einem Boolean-Literal oder einem Boolean-Ausdruck, wie im folgenden Beispiel veranschaulicht.

Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.

Ebenso können Sie Programmierelementen vom Datentyp Char, Date oder Object entsprechende Werte zuweisen. Sie können auch einem Element, das als Element der Klasse deklariert ist, aus der diese Instanz erstellt wurde, eine Objektinstanz zuweisen.

Verbundzuweisungsanweisungen

Verbundzuweisungsanweisungen führen zunächst eine Operation für einen Ausdruck aus, bevor Sie diesen einem Programmierelement zuweisen. Im folgenden Beispiel wird der Operator += veranschaulicht, der den Wert der Variablen auf der linken Seite des Operators um den Wert des Ausdrucks auf der rechten Seite erhöht.

n += 1

Im vorherigen Beispiel wird dem Wert von n 1 hinzugefügt und anschließend dieser neue Wert in n gespeichert. Dies ist die Kurzform der folgenden Anweisung:

n = n + 1

Eine Vielzahl von Verbundzuweisungsoperationen können mit Operatoren dieses Typs ausgeführt werden. Eine Liste dieser Operatoren und weitere Informationen über sie finden Sie unter Zuweisungsoperatoren.

Der Verkettungszuweisungsoperator (&=) eignet sich zum Hinzufügen einer Zeichenfolge am Ende einer bereits vorhandenen Zeichenfolge, wie im folgenden Beispiel veranschaulicht.

Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".

Typkonvertierungen in Zuweisungsanweisungen

Der Datentyp des Werts, den Sie einer Variablen, einer Eigenschaft oder einem Arrayelement zuweisen, muss dem jeweiligen Zielelement entsprechen. Versuchen Sie grundsätzlich, einen Wert mit demselben Datentyp wie der Datentyp des Zielelements zu generieren. Einige Typen können jedoch während der Zuweisung in einen anderen Typ konvertiert werden.

Informationen über das Konvertieren von Datentypen finden Sie unter Typkonvertierung in Visual Basic. Kurz gesagt, Visual Basic konvertiert den Wert eines bestimmten Typs automatisch in einen beliebigen anderen Typ, zu dem der ursprüngliche Typ erweitert werden kann. Eine erweiternde Konvertierung wird zur Laufzeit immer erfolgreich und ohne Datenverlust ausgeführt. Visual Basic konvertiert z. B. einen Integer-Wert ggf. in Double, da Integer zu Double erweitert wird. Weitere Informationen finden Sie unter Erweiternde und eingrenzende Konvertierungen.

Einschränkende Konvertierungen (Konvertierungen, die keine erweiternden Konvertierungen sind) können zur Laufzeit fehlschlagen oder mit Datenverlust ausgeführt werden. Sie können eine einschränkende Konvertierung explizit ausführen, indem Sie eine Typkonvertierungsfunktion verwenden, oder Sie können den Compiler alle Konvertierungen implizit ausführen lassen, indem Sie Option Strict Off festlegen. Weitere Informationen finden Sie unter Implizite und explizite Konvertierungen.

Siehe auch

Referenz

Zuweisungsoperatoren

Konzepte

Übersicht über Anweisungen
Deklarationsanweisungen in Visual Basic
Ausführbare Anweisungen
Erweiternde und eingrenzende Konvertierungen