Sdílet prostřednictvím


+ Operátor (Visual Basic)

Přidá dvě čísla nebo Vrátí kladnou hodnotu numerického výrazu.Lze použít také k zřetězení dvou výrazů řetězec.

expression1 + expression2
- or -
+ expression1

Části

Termín

Definice

expression1

Povinné.Číselné nebo řetězcový výraz.

expression2

Požadováno, pokud + operátor je výpočet zápornou hodnotu.Číselné nebo řetězcový výraz.

Výsledek

Pokud expression1 a expression2 jsou i číselný výsledek se jejich aritmetický součet.

Pokud expression2 chybí, + operátor je Unární operátor identity pro nezmění hodnota výrazu.V tomto smyslu tvořen zachování znaménko operace expression1, takže výsledek je záporný, pokud expression1 je záporná.

Pokud expression1 a expression2 jsou oba řetězce, výsledkem je složen z jejich hodnoty.

Pokud expression1 a expression2 jsou smíšené typy závisí na jejich typy, jejich obsah a nastavení Možnost přísné prohlášení.Další informace naleznete v tabulkách v "Poznámky".

Podporované typy

Číselné typy, včetně typů bez znaménka a plovoucí desetinnou čárkou a Decimal, a String.

Poznámky

Obecně + provede aritmetické sčítání, pokud je to možné a spojuje pouze pokud jsou oba výrazy řetězce.

Pokud ani jeden výraz Object, Visual Basic, provede následující akce.

Datové typy výrazů

Akce kompilátoru

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

Přidáte.Typ dat výsledek je číselná hodnota, která je vhodná pro datové typy expression1 a expression2.Viz tabulky "Aritmetický celé číslo" v Typy dat výsledků operátor (Visual Basic).

Jsou oba výrazy typuString

Řetězit.

Jeden výraz je číselný typ dat a druhý řetězec

Pokud Option Strict je On, pak vygeneruje chybu kompilátoru.

Pokud Option Strict je Off, implicitně převést String na Double a přidat.

Pokud String nelze převést na Double, poté vyvolána InvalidCastException výjimku.

Jeden výraz je číselný typ dat a ostatníNic (Visual Basic)

Přidat, s Nothing hodnotou nula.

Jeden výraz řetězec a druhý jeNothing

CONCATENATE s Nothing jako "".

Pokud je jeden výraz Object výrazu jazyka Visual Basic, provede následující akce.

Datové typy výrazů

Akce kompilátoru

Objectvýraz obsahuje číselnou hodnotu a druhé číselný datový typ

Pokud Option Strict je On, pak vygeneruje chybu kompilátoru.

If Option Strict is Off, then add.

Objectvýraz obsahuje číselnou hodnotu a druhý typ jeString

Pokud Option Strict je On, pak vygeneruje chybu kompilátoru.

Pokud Option Strict je Off, implicitně převést String na Double a přidat.

Pokud String nelze převést na Double, poté vyvolána InvalidCastException výjimku.

Objectvýraz obsahuje řetězec a druhý je číselný datový typ

Pokud Option Strict je On, pak vygeneruje chybu kompilátoru.

Pokud Option Strict je Off, implicitně převést řetězec Object na Double a přidat.

Pokud řetězec Object nelze převést na Double, poté vyvolána InvalidCastException výjimku.

Objectvýraz obsahuje řetězec a druhý typ jeString

Pokud Option Strict je On, pak vygeneruje chybu kompilátoru.

Pokud Option Strict je Off, implicitně převést Object na String a zřetězit.

Pokud jsou oba výrazy Object výrazy, Visual Basic, provede následující akce (Option Strict Off pouze).

Datové typy výrazů

Akce kompilátoru

I Object výrazy uchovávat číselné hodnoty

Přidáte.

I Object jsou výrazy typuString

Řetězit.

Jeden Object výraz obsahuje číselnou hodnotu a druhý obsahuje řetězec

Implicitně převést řetězec Object na Double a přidat.

Pokud řetězec Object nelze převést na číselnou hodnotu a poté vyvolána InvalidCastException výjimku.

Pokud Object výraz vyhodnocen jako nic nebo DBNull, + operátor považuje ji za String s hodnotou "".

[!POZNÁMKA]

Při použití + operátor, nebude pravděpodobně možné určit, zda bude provedena zřetězení sčítání nebo řetězec.Použití & operátor zřetězení odstranit dvojznačnosti a poskytovat je automatické protokolování prováděných kód.

Přetěžování

+ Operátor může být přetížení, což znamená, že třídy nebo struktury předefinovat své chování při operand je typu třídy nebo struktury.Pokud váš kód používá tento operátor na tyto třídy nebo struktury, přesvědčete se, že pochopit jeho předefinovaná chování.Další informace naleznete v tématu Operátor postupy (Visual Basic).

Příklad

V následujícím příkladu + operátor přidat čísla.Pokud operandy i číselné, Visual Basic vypočítá aritmetický výsledek.Aritmetický výsledek představuje součet dva operandy.

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

Můžete také použít + operátor zřetězení řetězců.Operandy jsou-li oba řetězce, Visual Basic je spojuje.Výsledek zřetězení představuje jeden řetězec tvořený obsah dva operandy jednu po druhé.

Pokud operandy smíšené typy, výsledek závisí na nastavení Možnost přísné prohlášení.Následující příklad znázorňuje výsledek při Option Strict je 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. 

Následující příklad znázorňuje výsledek při Option Strict je 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.

Odstranění nejednoznačnosti, je třeba použít & namísto operátoru + pro zřetězení.

Viz také

Referenční dokumentace

& Operátor (Visual Basic)

Operátory zřetězení (Visual Basic)

Aritmetické operátory (Visual Basic)

Operátory uvedené podle funkcí (Visual Basic)

Priority operátorů v jazyce Visual Basic

Možnost přísné prohlášení

Koncepty

Aritmetické operátory v jazyce Visual Basic