共用方式為


設定陳述式

更新:2007 年 11 月

指派陳述式會執行指派作業,此作業包含取得指派運算子 (=) 右邊的值,然後將此值存放在左邊的項目中,如下列範例所示。

v = 42

在上述範例中,指派陳述式會在變數 v 中存放常值 42。

適合的程式設計項目

指派運算子左邊的程式設計項目必須可以接受和存放值。這表示此項目必須是非 ReadOnly (Visual Basic) 的變數或屬性 (Property),或者必須是陣列元素。在指派陳述式的內容中,這類項目有時會稱為「lvalue」,代表「左邊的值」。

指派運算子右邊的值是由運算式所產生,這個值可以由常值 (Literal)、常數、變數、屬性、陣列元素、其他運算式或函式呼叫的任何一項組合所組成。下列範例將說明這點。

x = y + z + findResult(3)

上述範例會將在變數 y 中保留的值加入在變數 z 中保留的值,再將呼叫傳回的值加入函式 findResult。然後,這個運算式的總值會存放在變數 x 中。

指派陳述式中的資料型別

除了數值以外,指派運算子還會指定 String 值,如下列範例所示。

Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.

您也可以使用 Boolean 常值或 Boolean 運算式指定 Boolean 值,如下列範例所示。

Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.

同樣地,可以將適當的值指定給 Char、Date 或 Object 資料型別的程式設計項目。也可以將物件執行個體 (Instance) 指定給項目,該項目會宣告為從中建立該執行個體的類別。

複合指派陳述式

「複合指派陳述式」在將運算式指定給程式設計項目之前,會先在運算式上執行作業。下列範例會說明其中一個運算子 +=,藉由右邊運算式的值遞增運算子左邊的變數值。

n += 1

上述範例會加 1 至 n 值,然後在 n 中存放該新值。它是與下列陳述式相等的速寫法:

n = n + 1

可使用此類型的運算子來執行各種複合式指派運算。如需這些運算子的清單和它們的詳細資訊,請參閱設定運算子

串連指派運算子 (&=) 對於將字串加入已存在字串的結尾來說非常有用,如下列範例所示。

Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".

指派陳述式中的型別轉換

指定給變數、屬性或陣列元素的值必須是適合該目的項目中的資料型別。一般而言,您應該嘗試產生與該目的項目相同之資料型別的值。不過,某些型別可在指派期間轉換為其他型別。

如需在資料型別之間轉換的詳細資訊,請參閱 Visual Basic 中的型別轉換。簡單地說,Visual Basic 會自動將提供的型別值轉換為它擴展的其他型別。「擴展轉換」一定會在執行階段順利完成,並且不會遺失任何資料。例如,因為 Visual Basic 將 Integer 擴展至 Double,因此會在適用時將 Integer 值轉換為 Double。如需詳細資訊,請參閱擴展和縮小轉換

「縮小轉換」(不是擴展的轉換) 在執行階段會帶來失敗的風險,或造成資料遺失。您可以使用型別轉換函式明確地執行縮小轉換,或者設定 Option Strict Off,將編譯器 (Compiler) 導向為隱含地執行所有轉換。如需詳細資訊,請參閱隱含和明確轉換

請參閱

概念

陳述式概觀

Visual Basic 中的宣告陳述式

可執行的陳述式

擴展和縮小轉換

參考

設定運算子