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.

Zobacz też