And — Operator (Visual Basic)
Wykonuje logiczne połączenie na dwóch Boolean
wyrażeniach lub w połączeniu bitowym w dwóch wyrażeniach liczbowych.
Składnia
result = expression1 And expression2
generatora
result
Wymagany. Dowolne Boolean
wyrażenie lub liczbowe. W przypadku porównania result
wartości logicznych jest logicznym połączeniem dwóch Boolean
wartości. W przypadku operacji result
bitowych wartość liczbowa reprezentuje połączenie bitowe dwóch wzorców bitowych.
expression1
Wymagany. Dowolne Boolean
wyrażenie lub liczbowe.
expression2
Wymagany. Dowolne Boolean
wyrażenie lub liczbowe.
Uwagi
W przypadku porównania result
wartości logicznych parametr ma wartość True
if i tylko wtedy, gdy zarówno , expression1
jak i expression2
w przypadku wartości .True
W poniższej tabeli przedstawiono sposób result
określania.
Jeśli expression1 jest |
I expression2 jest |
Wartość parametru result to |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Uwaga
W porównaniu And
logicznym operator zawsze ocenia oba wyrażenia, które mogą obejmować wykonywanie wywołań procedur. Operator AndAlso wykonuje zwarcie, co oznacza, że jeśli expression1
jest False
, expression2
to nie jest oceniane.
Po zastosowaniu do wartości And
liczbowych operator wykonuje bitowe porównanie identycznych bitów w dwóch wyrażeniach liczbowych i ustawia odpowiedni bit zgodnie result
z poniższą tabelą.
Jeśli bit w expression1 jest |
I bit w expression2 jest |
Bit w result pliku jest |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
Uwaga
Ponieważ operatory logiczne i bitowe mają niższy priorytet niż inne operatory arytmetyczne i relacyjne, wszystkie operacje bitowe powinny być ujęte w nawiasy, aby zapewnić dokładne wyniki.
Typy danych
Jeśli operandy składają się z jednego wyrażenia i jednego Boolean
wyrażenia liczbowego, Visual Basic konwertuje Boolean
wyrażenie na wartość liczbową (–1 dla True
i 0 dla False
) i wykonuje operację bitową.
W przypadku porównania wartości logicznej typ danych wyniku to Boolean
. W przypadku porównania bitowego typ danych wynikowych jest typem liczbowym odpowiednim dla typów expression1
danych i expression2
. Zobacz tabelę "Porównania relacyjne i bitowe" w obszarze Typy danych wyników operatorów.
Uwaga
Operator And
może być przeciążony, co oznacza, że klasa lub struktura może ponownie zdefiniować jego zachowanie, gdy operand ma typ tej klasy lub struktury. Jeśli kod używa tego operatora w takiej klasie lub strukturze, upewnij się, że rozumiesz jego ponownie zdefiniowane zachowanie. Aby uzyskać więcej informacji, zobacz Procedury operatorów.
Przykład 1
W poniższym przykładzie And
użyto operatora do wykonania logicznego połączenia na dwóch wyrażeniach. Wynik jest wartością reprezentującą Boolean
, czy oba wyrażenia to 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
Powyższy przykład generuje odpowiednio wyniki True
i False
.
Przykład 2
W poniższym przykładzie użyto And
operatora do wykonania logicznego połączenia na poszczególnych bitach dwóch wyrażeń liczbowych. Bit we wzorcu wyników jest ustawiany, jeśli odpowiednie bity w operandach są ustawione na 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)
Powyższy przykład generuje wyniki odpowiednio 8, 2 i 0.