+-Operator (Visual Basic)

Fügt zwei Zahlen hinzu 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 ausdruck oder Zeichenfolgenausdruck.
expression2 Erforderlich, es + sei denn, der Operator berechnet einen negativen Wert. Beliebiger numerischer ausdruck oder Zeichenfolgenausdruck.

Ergebnis

Wenn expression1 und expression2 beide numerisch sind, ist das Ergebnis ihre arithmetische Summe.

Wenn expression2 nicht vorhanden ist, ist der Operator der + unäre Identitätsoperator für den unveränderten Wert eines Ausdrucks. In diesem Sinne besteht der Vorgang aus der Beibehaltung des Vorzeichens von , sodass das Ergebnis expression1 negativ ist, wenn expression1 negativ ist.

Wenn und beide Zeichenfolgen sind, ist das Ergebnis die expression1 expression2 Verkettung ihrer Werte.

Wenn und von gemischten Typen sind, hängt die Aktion von ihren Typen, ihrem Inhalt und der Einstellung expression1 expression2 der Option Strict-Anweisung ab. Weitere Informationen finden Sie in den Tabellen unter "Hinweise".

Unterstützte Typen

Alle numerischen Typen, einschließlich der Typen ohne Vorzeichen und Gleitkommatypen und Decimal und String .

Bemerkungen

Im Allgemeinen führt nach Möglichkeit arithmetische Additionen aus und verkettet nur, wenn beide + Ausdrücke Zeichenfolgen sind.

Wenn keiner der Ausdrücke ein Object ist, Visual Basic die folgenden Aktionen aus.

Datentypen von Ausdrücken Aktion nach Compiler
Beide Ausdrücke sind numerische Datentypen ( SByte , , , , , , , , Byte , oder Short UShort Integer UInteger Long ULong Decimal Single Double ) Hinzufügen Der Ergebnisdatentyp ist ein numerischer Typ, der für die Datentypen und expression1 geeignet expression2 ist. Weitere Informationen finden Sie in den Tabellen "Ganzzahlarithmetik" unter Datentypen von Operatorergebnissen.
Beide Ausdrücke sind vom Typ String Verketten.
Ein Ausdruck ist ein numerischer Datentyp, der andere eine Zeichenfolge. Wenn Option Strict On ist, generieren Sie einen Compilerfehler.

Wenn ist, konvertieren Sie implizit in , und Option Strict fügen Sie Off String Double hinzu.

Wenn nicht String in konvertiert werden Double kann, löst eine Ausnahme InvalidCastException aus.
Ein Ausdruck ist ein numerischer Datentyp, der andere ist Nothing. Fügen Sie hinzu, und Nothing geben Sie dabei den Wert 0 (null) an.
Ein Ausdruck ist eine Zeichenfolge, der andere ist Nothing Verkettet mit dem Nothing Wert "".

Wenn ein Ausdruck ein Ausdruck Object ist, führt Visual Basic die folgenden Aktionen aus.

Datentypen von Ausdrücken Aktion nach Compiler
Object expression 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 hinzu.
Object expression enthält einen numerischen Wert, und der andere ist vom Typ String Wenn Option Strict On ist, generieren Sie einen Compilerfehler.

Wenn ist, konvertieren Sie implizit in , und Option Strict fügen Sie Off String Double hinzu.

Wenn nicht String in konvertiert werden Double kann, löst eine Ausnahme InvalidCastException aus.
Object Expression enthält eine Zeichenfolge, und die andere ist ein numerischer Datentyp. Wenn Option Strict On ist, generieren Sie einen Compilerfehler.

Wenn Option Strict Off ist, wird die Zeichenfolge implizit in Object konvertiert Double und hinzugefügt.

Wenn die Object Zeichenfolge nicht in konvertiert werden Double kann, wird eine Ausnahme InvalidCastException ausgelöst.
Object Expression enthält eine Zeichenfolge, und die andere ist vom Typ String Wenn Option Strict On ist, generieren Sie einen Compilerfehler.

Wenn Option Strict Off ist, wird implizit in konvertiert Object String und verkettet.

Wenn beide Ausdrücke Ausdrücke Object sind, führt Visual Basic die folgenden Aktionen aus ( Option Strict Off nur ).

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, der andere eine Zeichenfolge. Konvertieren Sie die Zeichenfolge implizit Object in , und fügen Sie Double hinzu.

Wenn die Object Zeichenfolge nicht in einen numerischen Wert konvertiert werden kann, wird eine Ausnahme InvalidCastException ausgelöst.

Wenn einer der Ausdrücke zu Nothing oder ausgewertet wird, behandelt der Operator ihn als mit Object dem Wert DBNull + String "".

Hinweis

Wenn Sie den -Operator verwenden, können Sie möglicherweise nicht bestimmen, ob Addition oder + Zeichenfolgen verkettet werden. Verwenden Sie & den -Operator für die Verkettung, um Mehrdeutigkeiten zu vermeiden und selbstdokumentierenden Code zur Verfügung zu stellen.

Ü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 auf hat. 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 verwendet, um Zahlen hinzuzufügen. Wenn die Operanden beide numerisch sind, Visual Basic das arithmetische Ergebnis berechnet. 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 auch den -Operator + verwenden, um Zeichenfolgen zu verketten. Wenn die Operanden beide Zeichenfolgen sind, Visual Basic verkettet. Das Verkettungsergebnis stellt eine einzelne Zeichenfolge dar, die aus dem Inhalt der beiden Operanden nacheinander besteht.

Wenn die Operanden gemischte Typen haben, hängt das Ergebnis von der Einstellung der Option Strict-Anweisung ab. 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 Mehrdeutigkeiten zu vermeiden, sollten Sie den & -Operator anstelle von für + die Verkettung verwenden.

Siehe auch