And 運算符 (Visual Basic)

在兩 Boolean 個表達式上執行邏輯結合,或對兩個數值表達式執行位結合。

語法

result = expression1 And expression2  

組件

result
必須的。 任何 Boolean 或數值表達式。 針對布爾值比較, result 是兩 Boolean 個值的邏輯結合。 對於位運算,是一個數位元 result 結合。

expression1
必須的。 任何 Boolean 或數值表達式。

expression2
必須的。 任何 Boolean 或數值表達式。

備註

針對布爾值比較,result只有在 True 和 expression2 兩者都expression1評估為 True時才為 。 下表說明如何 result 判斷。

如果 expression1 為 且 expression2 為 的值 result 為
True True True
True False False
False True False
False False False

備註

在布爾比較中 And ,運算符一律會評估這兩個表達式,其中包括進行過程調用。 AndAlso 運算符會執行簡短運算,這表示如果 expression1 為 False,expression2則不會進行評估。

當套用至數值時, And 運算子會在兩個數值表達式中執行相同位置位的位比較,並根據下表在 中 result 設定對應的位。

如果 bit in expression1 為 中位 expression2 為 中的 result 位為
1 1 1
1 0 0
0 1 0
0 0 0

備註

由於邏輯和位運算符的優先順序低於其他算術和關係運算符,因此任何位運算都應該以括弧括住,以確保精確的結果。

數據類型

如果作數是由一個 Boolean 運算式和一個數值表達式所組成,Visual Basic 會將 Boolean 表達式轉換成數值(-1 代表 True 和 0), False並執行位運算。

對於布爾值比較,結果的數據類型為 Boolean。 為了進行位比較,結果數據類型是適用於 和expression2數據類型的expression1數值類型。 請參閱 運算子結果數據類型中的「關係型和位比較」數據表。

備註

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

範例 1

下列範例會 And 使用 運算符,在兩個表達式上執行邏輯結合。 結果是值,表示這兩個 Boolean 運算式是否都是 True。

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c

上述範例分別會產生和True的結果False。

範例 2

下列範例會 And 使用 運算符,對兩個數值表達式的個別位執行邏輯結合。 如果作數中的對應位都設定為1,則會設定結果模式中的位。

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)

上述範例分別會產生 8、2 和 0 的結果。

另請參閱