Udostępnij za pośrednictwem


+ — Operator (Visual Basic)

Dodaje dwie liczby lub zwraca wartość dodatnią wyrażenia liczbowego.Można również łączyć dwa wyrażenia ciąg.

expression1 + expression2
- or -
+ expression1

Części

Termin

Definicja

expression1

Wymagane.Dowolne wyrażenie liczbowe lub ciąg.

expression2

Wymagane, chyba że + operator jest obliczenie wartości ujemnej.Dowolne wyrażenie liczbowe lub ciąg.

Wynik

Jeśli expression1 i expression2 są zarówno numeryczne, wynik jest ich suma arytmetycznych.

Jeśli expression2 jest nieobecny, + jest operator jednoargumentowe tożsamości operatora niezmienione wartości wyrażenia.W tym sensie, operacja składa się z zachowując znak expression1, więc wynik jest ujemny, jeśli expression1 jest liczbą ujemną.

Jeśli expression1 i expression2 zarówno ciągi są wynikiem jest tworzona przez złączenie ich wartości.

Jeśli expression1 i expression2 są mieszanych typów działań podjętych zależy od ich typów, ich zawartość i ustawienia z Option Strict — Instrukcja.Aby uzyskać więcej informacji zobacz tabele w polu "Uwagi".

Obsługiwane typy

Wszystkie typy liczbowe, włącznie z typami niepodpisane i zmiennoprzecinkowych i Decimal, i String.

Uwagi

Ogólnie rzecz biorąc + wykonuje dodanie arytmetyczne, gdy jest to możliwe i łączy tylko wtedy, gdy oba wyrażenia są ciągi.

Jeśli ani wyrażenie jest Object, Visual Basic wykonuje następujące akcje.

Typy danych wyrażeń

Działania przez kompilator

Both expressions are numeric data types (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single, or Double)

Dodaj.Typ danych wynik jest typu liczbowego, właściwe dla typów danych expression1 i expression2.Patrz tabele "Arytmetyki całkowitej" w Typy danych wyników operatora (Visual Basic).

Oba wyrażenia są typuString

Złączanie.

Jedno wyrażenie jest typ danych numerycznych, a druga jest ciąg

Jeśli Option Strict jest On, następnie wygenerować błąd kompilatora.

Jeśli Option Strict jest Off, następnie niejawnie przekonwertować String do Double i dodać.

Jeśli String nie można przekonwertować na Double, następnie throw InvalidCastException wyjątku.

Jedno wyrażenie jest typ danych numerycznych, a drugiNothing (Visual Basic)

Dodać, z Nothing wyceniane jako zero.

Jedno wyrażenie jest ciągiem znaków, a druga jestNothing

ZŁĄCZ.teksty, z Nothing wyceniane jako "".

Jeśli jedno wyrażenie jest Object wyrażenie, Visual Basic wykonuje następujące akcje.

Typy danych wyrażeń

Działania przez kompilator

Objectwyrażenie zawiera wartość liczbową, a druga jest typ danych numerycznych

Jeśli Option Strict jest On, następnie wygenerować błąd kompilatora.

If Option Strict is Off, then add.

Objectwyrażenie zawiera wartość liczbową, a druga jest typuString

Jeśli Option Strict jest On, następnie wygenerować błąd kompilatora.

Jeśli Option Strict jest Off, następnie niejawnie przekonwertować String do Double i dodać.

Jeśli String nie można przekonwertować na Double, następnie throw InvalidCastException wyjątku.

Objectwyrażenie zawiera ciąg, a druga jest typ danych numerycznych

Jeśli Option Strict jest On, następnie wygenerować błąd kompilatora.

Jeśli Option Strict jest Off, niejawnie przekonwertować ciągu Object do Double i dodać.

Jeśli ciąg Object nie można przekonwertować na Double, następnie throw InvalidCastException wyjątku.

Objectwyrażenie zawiera ciąg, a druga jest typuString

Jeśli Option Strict jest On, następnie wygenerować błąd kompilatora.

Jeśli Option Strict jest Off, następnie niejawnie przekonwertować Object do String i łączyć.

Jeśli oba wyrażenia są Object wyrażeń, Visual Basic wykonuje następujące akcje (Option Strict Off tylko).

Typy danych wyrażeń

Działania przez kompilator

Obie Object wyrażeń przechowywać wartości numeryczne

Dodaj.

Obie Object wyrażenia są typuString

Złączanie.

Jeden Object wyrażenie zawiera wartość liczbową i przechowuje drugi ciąg

Niejawnie przekonwertować ciągu Object do Double i dodać.

Jeśli ciąg Object nie można przekonwertować na wartość liczbową, a następnie throw InvalidCastException wyjątku.

Jeśli albo Object wyrażenie zostanie oszacowane jako nic nie lub DBNull, + operator traktuje ją jako String o wartości "".

[!UWAGA]

Kiedy używać + operatora, będzie mógł określić, czy wystąpi konkatenacji dodanie lub ciąg.Użyj & operatora konkatenacji wyeliminować niejasności i podaj kod elastycznym.

Przeciążenie

+ Operator może być nadmiernie, co oznacza, że klasy lub struktury można ponownie zdefiniować jego zachowanie podczas operand ma typ tej klasy lub struktury.Jeśli użyty kod używa tego operatora na klasy lub struktury, upewnij się, że rozumiesz działanie przedefiniować.Aby uzyskać więcej informacji, zobacz Procedury operatorów (Visual Basic).

Przykład

W poniższym przykładzie użyto + operatora dodawania numerów.Jeśli argumenty są zarówno numeryczne, Visual Basic oblicza wynik arytmetyczny.Wynik arytmetyczny reprezentuje sumę dwa operandy.

Dim sumNumber As Integer
sumNumber = 2 + 2
sumNumber = 4257.04 + 98112
' The preceding statements set sumNumber to 4 and 102369.

Można również użyć + operator łączenia ciągów.Jeśli argumenty są oba ciągi, Visual Basic łączy je.Wynik konkatenacji reprezentuje jeden ciąg znaków, składający się z zawartości dwa operandy jeden po drugim.

Jeśli argumenty są mieszanych typów, wynik zależy od ustawienia z Option Strict — Instrukcja.Poniższy przykład ilustruje wynik po Option Strict jest On.

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. 

Poniższy przykład ilustruje wynik po Option Strict jest Off.

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.

Aby wyeliminować niejasności, należy użyć & zamiast operatora + dla łączenia.

Zobacz też

Informacje

& — Operator (Visual Basic)

Concatenation — Operatory (Visual Basic)

Operatory arytmetyczne (Visual Basic)

Operatory według funkcji (Visual Basic)

Kolejność wykonywania działań (Visual Basic)

Option Strict — Instrukcja

Koncepcje

Operatory arytmetyczne w Visual Basic