在兩 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 的結果。