And – operátor (Visual Basic)
Provede logické spojení se dvěma Boolean
výrazy nebo bitovým spojením dvou číselných výrazů.
Syntaxe
result = expression1 And expression2
Součástky
result
Povinný: Libovolný Boolean
nebo číselný výraz Pro logické porovnání result
je logické spojení dvou Boolean
hodnot. U bitových operací result
je číselná hodnota představující bitové spojení dvou číselných bitových vzorů.
expression1
Povinný: Libovolný Boolean
nebo číselný výraz
expression2
Povinný: Libovolný Boolean
nebo číselný výraz
Poznámky
V případě logického porovnání result
, je-li True
a pouze v případě, že se obě expression1
a expression2
vyhodnotí jako True
. Následující tabulka ukazuje, jak result
je určeno.
Pokud expression1 je |
A expression2 je |
Hodnota result je |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Poznámka:
V logickém porovnání And
operátor vždy vyhodnocuje oba výrazy, což může zahrnovat volání procedur. Operátor AndAlso provádí zkratování, což znamená, že pokud expression1
je False
, pak expression2
není vyhodnocen.
Při použití na číselné hodnoty And
operátor provede bitové porovnání identicky umístěných bitů ve dvou číselných výrazech a nastaví odpovídající bit result
podle následující tabulky.
Pokud je bit v expression1 |
A bit in expression2 je |
Bit in result je |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
Poznámka:
Vzhledem k tomu, že logické a bitové operátory mají nižší prioritu než jiné aritmetické a relační operátory, měly by být všechny bitové operace uzavřeny v závorkách, aby se zajistily přesné výsledky.
Typy dat
Pokud se operandy skládají z jednoho Boolean
výrazu a jednoho číselného výrazu, Jazyk Visual Basic převede Boolean
výraz na číselnou hodnotu (–1 pro a 0 pro True
False
) a provede bitové operace.
Pro logické porovnání je Boolean
datový typ výsledku . Pro bitové porovnání je datový typ výsledku číselný typ vhodný pro datové typy expression1
a expression2
. Viz tabulka Relační a bitové porovnání v datových typech výsledků operátoru.
Poznámka:
Operátor And
může být přetížen, což znamená, že třída nebo struktura mohou předefinovat jeho chování, pokud operand má typ této třídy nebo struktury. Pokud váš kód používá tento operátor pro takovou třídu nebo strukturu, ujistěte se, že rozumíte jeho předdefinované chování. Další informace naleznete v tématu Procedury operátoru.
Příklad 1
Následující příklad používá And
operátor k provedení logické spojení se dvěma výrazy. Výsledkem je Boolean
hodnota, která představuje, zda jsou True
oba výrazy .
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
Předchozí příklad vytvoří výsledky True
a False
v uvedeném pořadí.
Příklad 2
Následující příklad používá And
operátor k provedení logické spojení na jednotlivých bitech dvou číselných výrazů. Bit ve výsledném vzoru se nastaví, pokud jsou odpovídající bity v operandech nastaveny na hodnotu 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)
Předchozí příklad vytvoří výsledky 8, 2 a 0.