+-Operator (Visual Basic)
Addiert zwei Zahlen oder gibt den positiven Wert eines numerischen Ausdrucks zurück. Kann auch verwendet werden, um zwei Zeichenfolgenausdrücke zu verketten.
Syntax
expression1 + expression2
oder
+expression1
Bestandteile
Begriff | Definition |
---|---|
expression1 |
Erforderlich. Beliebiger numerischer oder Zeichenfolgenausdruck. |
expression2 |
Erforderlich, es sei denn, der + -Operator berechnet einen negativen Wert. Beliebiger numerischer oder Zeichenfolgenausdruck. |
Ergebnis
Wenn expression1
und expression2
beide numerisch sind, ist das Ergebnis ihre arithmetische Summe.
Wenn expression2
nicht vorhanden, ist der +
-Operator der unäre Identitätsoperator für den unveränderten Wert eines Ausdrucks. In diesem Sinne besteht die Operation aus der Beibehaltung des Vorzeichens expression1
, sodass das Ergebnis negativ ist, wenn expression1
negativ ist.
Wenn expression1
und expression2
beide Zeichenfolgen sind, ist das Ergebnis die Verkettung ihrer Werte.
Wenn expression1
und expression2
von gemischten Typen sind, hängt die getroffene Aktion von ihren Typen, ihren Inhalten und der Einstellung der Option Strict-Anweisungab. Weitere Informationen finden Sie in den Tabellen in „Hinweise“.
Unterstützte Typen
Alle numerischen Typen, einschließlich der nicht signierten und Gleitkommatypen und Decimal
und String
.
Bemerkungen
Im Allgemeinen führt +
arithmetische Ergänzungen nach Möglichkeit aus und verkettet nur, wenn beide Ausdrücke Zeichenfolgen sind.
Wenn kein Ausdruck ein Object
ist, führt Visual Basic die folgenden Aktionen aus.
Datentypen von Ausdrücken | Aktion nach Compiler |
---|---|
Beide Ausdrücke sind numerische Datentypen (SByte , Byte , Short , UShort , Integer , UInteger Long , ULong , Decimal , Single oder Double ) |
Hinzufügen Der Ergebnisdatentyp ist ein numerischer Typ, der für die Datentypen von expression1 und expression2 geeignet ist. Weitere Informationen finden Sie in den Tabellen „Ganzzahlarithmetik“ in den Datentypen von Operatorergebnissen. |
Beide Ausdrücke sind vom Typ String |
Verketten. |
Ein Ausdruck ist ein numerischer Datentyp und der andere eine Zeichenfolge. | Wenn Option Strict On ist, generieren Sie einen Compilerfehler.Wenn Option Strict Off ist, konvertieren Sie die String implizit in Double und fügen sie hinzu.Wenn die String nicht zu Double konvertiert werden kann, lösen Sie eine InvalidCastException-Ausnahme aus. |
Ein Ausdruck ist ein numerischer Datentyp, und der andere ist Nothing | Hinzufügen, mit Nothing -Wert als Null. |
Ein Ausdruck ist eine Zeichenfolge, und die andere ist Nothing |
Verketten, mit Nothing -Wert als „“. |
Wenn ein Ausdruck ein Object
-Ausdruck ist, führt Visual Basic die folgenden Aktionen aus.
Datentypen von Ausdrücken | Aktion nach Compiler |
---|---|
Der Object -Ausdruck enthält einen numerischen Wert, und der andere ist ein numerischer Datentyp. |
Wenn Option Strict On ist, generieren Sie einen Compilerfehler.Wenn Option Strict Off ist, fügen Sie es hinzu. |
Der Object - Ausdruck enthält einen numerischen Wert, und der andere ist vom Typ String |
Wenn Option Strict On ist, generieren Sie einen Compilerfehler.Wenn Option Strict Off ist, konvertieren Sie die String implizit in Double und fügen sie hinzu.Wenn die String nicht zu Double konvertiert werden kann, lösen Sie eine InvalidCastException-Ausnahme aus. |
Der Object - Ausdruck enthält eine Zeichenfolge, und der andere ist ein numerischer Datentyp. |
Wenn Option Strict On ist, generieren Sie einen Compilerfehler.Wenn Option Strict Off ist, konvertieren Sie die Zeichenfolge Object implizit in Double und fügen sie hinzu.Wenn die Zeichenfolge Object nicht in Double konvertiert werden kann, wird eine InvalidCastException-Ausnahme ausgelöst. |
Der Object - Ausdruck enthält eine Zeichenfolge, und der andere ist vom Typ String |
Wenn Option Strict On ist, generieren Sie einen Compilerfehler.Wenn Option Strict Off ist, wird Object implizit in String konvertiert und verkettet. |
Wenn beide Ausdrücke Object
-Ausdrücke sind, führt Visual Basic die folgenden Aktionen aus (nur Option Strict Off
).
Datentypen von Ausdrücken | Aktion nach Compiler |
---|---|
Beide Object -Ausdrücke enthalten numerische Werte |
Hinzufügen |
Beide Object -Ausdrücke sind vom Typ String |
Verketten. |
Ein Object -Ausdruck enthält einen numerischen Wert, und der andere enthält eine Zeichenfolge |
Konvertieren Sie die Zeichenfolge Object implizit in Double und fügen Sie sie hinzu.Wenn die Zeichenfolge Object nicht in einen numerischen Wert konvertiert werden kann, lösen Sie eine InvalidCastException-Ausnahme aus. |
Wenn ein Object
-Ausdruck als Nothing oder DBNull ausgewertet wird, behandelt der +
-Operator ihn als String
mit einem Wert von „“.
Hinweis
Wenn Sie den +
-Operator verwenden, können Sie möglicherweise nicht ermitteln, ob eine Addition oder Zeichenfolgenverkettung auftritt. Verwenden Sie den &
-Operator zur Verkettung, um Mehrdeutigkeit zu vermeiden und selbst dokumentierten Code bereitzustellen.
Überladen
Der +
-Operator kann überladen werden. Dies bedeutet, dass eine Klasse oder Struktur ihr Verhalten neu definieren kann, wenn ein Operand den Typ dieser Klasse oder Struktur aufweist. Wenn Ihr Code diesen Operator für eine solche Klasse oder Struktur verwendet, stellen Sie sicher, dass Sie das neu definierte Verhalten verstehen. Weitere Informationen finden Sie unter Operator Procedures.
Beispiel
Im folgenden Beispiel wird der +
-Operator zum Hinzufügen von Zahlen verwendet. Wenn die Operanden beide numerisch sind, berechnet Visual Basic das arithmetische Ergebnis. Das arithmetische Ergebnis stellt die Summe der beiden Operanden dar.
Dim sumNumber As Integer
sumNumber = 2 + 2
sumNumber = 4257.04 + 98112
' The preceding statements set sumNumber to 4 and 102369.
Sie können den Operator +
verwenden, um Zeichenfolgen zu verketten. Wenn die Operanden beide Zeichenfolgen sind, verkettet Visual Basic sie. Das Verkettungsergebnis stellt eine einzelne Zeichenfolge dar, die aus dem Inhalt der beiden Operanden besteht.
Wenn die Operanden gemischt sind, hängt das Ergebnis von der Einstellung der Option Strict-Anweisungab. Das folgende Beispiel veranschaulicht das Ergebnis, wenn Option Strict
On
ist.
Option Strict On
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
' The preceding statement generates a COMPILER ERROR.
Das folgende Beispiel veranschaulicht das Ergebnis, wenn Option Strict
Off
ist.
Option Strict Off
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
' The preceding statement returns 40 after the string in var1 is
' converted to a numeric value. This might be an unexpected result.
' We do not recommend use of Option Strict Off for these operations.
Um Mehrdeutigkeit zu vermeiden, sollten Sie den &
-Operator anstelle der +
für die Verkettung verwenden.