共用方式為


+ 運算子 (Visual Basic)

加入兩個數位,或傳回數值表達式的正值。 也可以用來串連兩個字串表達式。

語法

expression1 + expression2

+expression1  

組件

術語 定義
expression1 必須的。 任何數值或字串表達式。
expression2 除非 + 運算元正在計算負值,否則為必要。 任何數值或字串表達式。

結果

如果 expression1expression2 都是數值,則結果會是其算術總和。

如果 expression2 不存在, + 運算符是表達式未變更值的 一元 識別運算符。 從這個意義上說,作業是由 保留的 expression1正負號所組成,因此如果 為負數,則結果為負 expression1 數。

如果 expression1expression2 都是字串,則結果是其值的串連。

如果 expression1expression2 屬於混合類型,所採取的動作取決於其類型、其內容,以及 Option Strict語句的設定。 如需詳細資訊,請參閱中的數據表。

支援的類型

所有數值類型,包括不帶正負號和浮點類型,以及 DecimalString

備註

一般而言, + 盡可能執行算術加法,而且只有在兩個表達式都是字串時串連。

如果兩個 Object表達式都不是 ,Visual Basic 會採取下列動作。

表達式的數據類型 依編譯程式執行的動作
這兩個運算式都是數值數據類型(SByte、、ByteShort、、IntegerUShort、、UIntegerDecimalLongULong、、 SingleDouble [ 新增 ]。 結果數據類型是適用於和expression2數據類型的expression1數值類型。 請參閱 運算子結果數據類型中的「整數算術」數據表。
這兩個表達式的類型都是 String 連接。
一個表達式是數值數據類型,另一個是字串 如果 Option StrictOn,則會產生編譯程序錯誤。

如果 Option StrictOff,則隱含地將 轉換成 DoubleString 並新增 。

String如果 無法轉換成 Double,則擲回例外狀況InvalidCastException
其中一個表達式是數值數據類型,另一個則為 Nothing 新增,值為 Nothing 零。
一個表達式是字串,另一個是 Nothing 串連,值為 Nothing “”。

如果一個表達式是 Object 表達式,Visual Basic 會採取下列動作。

表達式的數據類型 依編譯程式執行的動作
Object 表達式保留數值,另一個是數值數據類型 如果 Option StrictOn,則會產生編譯程序錯誤。

如果 Option StrictOff,則新增 。
Object 表達式保留數值,另一個為 類型 String 如果 Option StrictOn,則會產生編譯程序錯誤。

如果 Option StrictOff,則隱含地將 轉換成 DoubleString 並新增 。

String如果 無法轉換成 Double,則擲回例外狀況InvalidCastException
Object 表達式保存字串,另一個是數值數據類型 如果 Option StrictOn,則會產生編譯程序錯誤。

如果 Option StrictOff,則隱含地將字串ObjectDouble轉換成 並新增。

如果字串 Object 無法轉換成 Double,則擲回例外狀況 InvalidCastException
Object 表達式保存字串,另一個是 型別 String 如果 Option StrictOn,則會產生編譯程序錯誤。

如果 Option StrictOff,則隱含地轉換成 StringObject 並串連。

如果這兩個表達式都是 Object 表達式,Visual Basic 會採取下列動作(Option Strict Off 僅限)。

表達式的數據類型 依編譯程式執行的動作
這兩個表達式都會 Object 保存數值 [ 新增 ]。
這兩 Object 個表達式的類型都是 String 連接。
一個表達式保存數值,另一 Object 個表達式保留字串 以隱含方式將字串ObjectDouble轉換成 並新增。

如果字串 Object 無法轉換成數值,則擲回例外狀況 InvalidCastException

如果表示式 Object 評估為 NothingDBNull,運算子 + 會將它 String 視為值為 “” 的 。

備註

當您使用 + 運算符時,可能無法判斷是否會發生加法或字串串連。 &使用運算符進行串連,以消除模棱兩可,並提供自我記錄程序代碼。

重載

+運算子可以多載,這表示當作數具有該類別或結構的類型時,類別或結構可以重新定義其行為。 如果您的程式代碼在這類類別或結構上使用這個運算符,請務必瞭解其重新定義的行為。 如需詳細資訊,請參閱 運算符程式

範例

下列範例會使用 + 運算符來新增數位。 如果作數都是數值,Visual Basic 會計算算術結果。 算術結果代表兩個作數的總和。

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

您也可以使用 + 運算符來串連字串。 如果作數都是字串,Visual Basic 會串連它們。 串連結果代表單一字串,其中包含兩個作數的內容一個接一個。

如果作數是混合類型,結果取決於 Option Strict語句的設定。 下列範例說明 當 為 OnOption Strict的結果。

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. 

下列範例說明 當 為 OffOption Strict的結果。

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.

若要消除模棱兩可,您應該使用 & 運算符來取代 + 串連。

另請參閱