Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Két számot ad hozzá, vagy egy numerikus kifejezés pozitív értékét adja vissza. Két sztringkifejezés összefűzésére is használható.
Szemantika
expression1 + expression2
vagy
+expression1
Részek
| Időszak | Definíció |
|---|---|
expression1 |
Szükséges. Bármilyen numerikus vagy sztringkifejezés. |
expression2 |
Kötelező, kivéve, ha az + operátor negatív értéket számít ki. Bármilyen numerikus vagy sztringkifejezés. |
Eredmény
Ha expression1 és expression2 mindkettő numerikus, akkor az eredmény az aritmetikai összegük.
Ha expression2 nincs megadva, az + operátor a kifejezés változatlan értékének nem megfelelő identitás operátora. Ebben az értelemben a művelet az előjel expression1megőrzéséből áll, így az eredmény negatív, ha expression1 negatív.
Ha expression1 mindkét expression2 sztring, akkor az eredmény az értékek összefűzése.
Vegyes expression1 típusok esetén a végrehajtott művelet a típusuktól, a tartalmától és az Option Strict Utasítás beállításától expression2 függ. További információkért tekintse meg a "Megjegyzések" című témakör táblázatait.
Támogatott típusok
Minden numerikus típus, beleértve az aláíratlan és a lebegőpontos típusokat és Decimala String.
Megjegyzések
Általában + lehetőség szerint aritmetikai összeadást hajt végre, és csak akkor fűz össze, ha mindkét kifejezés sztring.
Ha egyik kifejezés sem egy Object, a Visual Basic a következő műveleteket hajtja végre.
| A kifejezések adattípusai | Művelet fordító szerint |
|---|---|
Mindkét kifejezés numerikus adattípus (SByte, , Byte, Short, UShort, IntegerUInteger, Long, ULong, Decimal, , Singlevagy Double) |
Hozzáadás. Az eredmény adattípusa egy numerikus típus, amely megfelel az és expression1expression2a . Tekintse meg az "Egész számtani" táblákat az operátoreredmények adattípusaiban. |
Mindkét kifejezés típusa String |
Összekapcsol. |
| Az egyik kifejezés numerikus adattípus, a másik pedig egy sztring | Ha Option Strict igen On, akkor hozzon létre egy fordítóhibát.Ha Option Strict igen Off, akkor implicit módon konvertálja a String formátumot Double , és adja hozzá.Ha a String nem konvertálható Double, akkor kivételt InvalidCastException kell eredményeznie. |
| Az egyik kifejezés numerikus adattípus, a másik a Semmi | Hozzáadás nullával.Nothing |
Az egyik kifejezés egy sztring, a másik pedig Nothing |
Összefűzve, Nothing """-ként értékelve. |
Ha egy kifejezés kifejezés Object , a Visual Basic a következő műveleteket hajtja végre.
| A kifejezések adattípusai | Művelet fordító szerint |
|---|---|
Object a kifejezés numerikus értéket tartalmaz, a másik pedig egy numerikus adattípus |
Ha Option Strict igen On, akkor hozzon létre egy fordítóhibát.Ha Option Strict igen Off, akkor adja hozzá. |
Object a kifejezés numerikus értéket tartalmaz, a másik típus pedig String |
Ha Option Strict igen On, akkor hozzon létre egy fordítóhibát.Ha Option Strict igen Off, akkor implicit módon konvertálja a String formátumot Double , és adja hozzá.Ha a String nem konvertálható Double, akkor kivételt InvalidCastException kell eredményeznie. |
Object a kifejezés egy sztringet tartalmaz, a másik egy numerikus adattípus |
Ha Option Strict igen On, akkor hozzon létre egy fordítóhibát.Ha Option Strict igen Off, akkor implicit módon konvertálja a sztringet ObjectDouble , és adja hozzá.Ha a sztring Object nem konvertálható, Doubleakkor kivételt InvalidCastException kell tenni. |
Object a kifejezés egy sztringet tartalmaz, a másik típus pedig String |
Ha Option Strict igen On, akkor hozzon létre egy fordítóhibát.Ha Option Strict igenOff, akkor implicit módon konvertálja StringObject és összefűzi. |
Ha mindkét kifejezés Object kifejezés, a Visual Basic a következő műveleteket hajtja végre (Option Strict Off csak).
| A kifejezések adattípusai | Művelet fordító szerint |
|---|---|
Mindkét Object kifejezés numerikus értékeket tartalmaz |
Hozzáadás. |
Mindkét Object kifejezés típusa String |
Összekapcsol. |
Az egyik Object kifejezés numerikus értéket tartalmaz, a másik pedig egy sztringet |
Implicit módon konvertálja a sztringet ObjectDouble , és adja hozzá.Ha a sztring Object nem konvertálható numerikus értékké, akkor adjon ki kivételt InvalidCastException . |
Ha bármelyik Object kifejezés a Semmi vagy a "DBNull" értéket adja vissza, az + operátor "" értékkel kezeli.String
Megjegyzés:
Az operátor használatakor + előfordulhat, hogy nem tudja meghatározni, hogy összeadás vagy sztringösszefűzés történik-e. Az összefűzéshez használja az & operátort a kétértelműség megszüntetéséhez és az önaláírási kód megadásához.
Túlterhelés
Az + operátor túlterhelhető, ami azt jelenti, hogy egy osztály vagy struktúra újradefiniálta a viselkedését, ha egy operandus az adott osztály vagy struktúra típusával rendelkezik. Ha a kód egy ilyen osztályon vagy struktúrán használja ezt az operátort, győződjön meg arról, hogy tisztában van az újradefiniált viselkedésével. További információ: Operátori eljárások.
példa
Az alábbi példa az operátort használja számok + hozzáadására. Ha az operandusok numerikusak, a Visual Basic kiszámítja az aritmetikai eredményt. Az aritmetikai eredmény a két operandus összegét jelöli.
Dim sumNumber As Integer
sumNumber = 2 + 2
sumNumber = 4257.04 + 98112
' The preceding statements set sumNumber to 4 and 102369.
Az operátorral + sztringeket is összefűzhet. Ha az operandusok mindkét sztringek, a Visual Basic összefűzi őket. Az összefűzés eredménye egyetlen sztringet jelöl, amely a két operandus tartalmát tartalmazza egymás után.
Ha az operandusok vegyes típusúak, az eredmény az Option Strict Utasítás beállításától függ. Az alábbi példa az eredményt szemlélteti, ha Option Strict igen 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.
Az alábbi példa az eredményt szemlélteti, ha Option Strict igen 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.
A kétértelműség kiküszöböléséhez az összefűzés helyett + az & operátort kell használnia.