And – operátor (Visual Basic)
Provádí logickou konjunkci se dvěma Boolean výrazy nebo bitovým spojením se dvěma číselnými výrazy.
Syntax
result = expression1 And expression2
Součásti
result
Povinná hodnota. Libovolný Boolean nebo číselný výraz. Pro logické porovnání result je logická konjunkce dvou Boolean hodnot. Pro bitové operace je číselná hodnota představující bitovou konjunkci result dvou číselných bitových vzorů.
expression1
Povinná hodnota. Libovolný Boolean nebo číselný výraz.
expression2
Povinná hodnota. Libovolný Boolean nebo číselný výraz.
Poznámky
Pro logické porovnání je hodnota if a pouze v případě, že obě hodnoty a result True jsou expression1 expression2 vyhodnoceny jako True . Následující tabulka ukazuje, jak result se určí.
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í operátor vždy vyhodnotí oba výrazy, což může zahrnovat And volání procedur. Operátor AndAlso provádí krátký okruh, což znamená, že pokud je expression1 , pak se False expression2 nevyhodnotí.
Při použití u číselných hodnot provádí operátor bitové porovnání identicky umístěných bitů ve dvou číselných výrazech a nastaví odpovídající bit v podle And result následující tabulky.
Pokud bit v expression1 je |
A bit expression2 v je |
Bit v souboru 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 do závorek, aby se zajistily přesné výsledky.
Typy dat
Pokud se operandy skládají z jednoho výrazu a jednoho číselného výrazu, Visual Basic převede výraz na číselnou hodnotu (–1 pro a 0 pro ) a provede Boolean Boolean True False bitové operace.
Pro logické porovnání je datový typ výsledku Boolean . Pro bitové porovnání je výsledný datový typ číselný typ vhodný pro datové typy a expression1 expression2 . Podívejte se na tabulku "Relační a bitové porovnání" ve výsledcích datových typů operátorů.
Poznámka
Operátor And může být přetížen, což znamená, že třída nebo struktura může předefinovat své chování, pokud má operand typ této třídy nebo struktury. Pokud váš kód používá tento operátor u takové třídy nebo struktury, ujistěte se, že rozumíte jejímu předdefinované chování. Další informace najdete v tématu Procedury operátora.
Příklad 1
Následující příklad používá operátor And k logickému spojení se dvěma výrazy. Výsledkem je Boolean hodnota, která představuje, zda jsou oba výrazy 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
Předchozí příklad vytvoří výsledky a True False v uvedeném pořadí.
Příklad 2
Následující příklad používá operátor k logickému spojení jednotlivých And bitů dvou číselných výrazů. Bit ve vzorci výsledků je nastaven, pokud jsou odpovídající bity v operandech obě 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 v uvedeném pořadí.