Udostępnij za pośrednictwem


Or — Operator (Visual Basic)

Wykonuje logiczne odejmowanie dwóch Boolean wyrażeń lub rozłączenie bitowe dla dwóch wyrażeń liczbowych.

Składnia

result = expression1 Or expression2  

generatora

result
Wymagany. Dowolne Boolean wyrażenie lub liczbowe. Dla Boolean porównania, result jest inkluzywną logiczną różnicą dwóch Boolean wartości. W przypadku operacji result bitowych jest wartością liczbową reprezentującą włącznie bitowe rozłączenie dwóch wzorców bitów liczbowych.

expression1
Wymagany. Dowolne Boolean wyrażenie lub liczbowe.

expression2
Wymagany. Dowolne Boolean wyrażenie lub liczbowe.

Uwagi

Dla Boolean porównania, result jest toFalse, czy i tylko wtedy, gdy zarówno , expression1 jak i expression2 wartość .False 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 True
False True True
False False False

Uwaga

Boolean W porównaniu Or operator zawsze ocenia oba wyrażenia, które mogą obejmować wykonywanie wywołań procedury. Operator OrElse wykonuje zwarcie, co oznacza, że jeśli expression1 jest True, to expression2 nie jest oceniane.

W przypadku operacji Or bitowych 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 1
0 1 1
0 0 0

Uwaga

Ponieważ operatory logiczne i bitowe mają niższy priorytet niż inne operatory arytmetyczne i relacyjne, wszelkie operacje bitowe powinny być ujęte w nawiasy, aby zapewnić dokładne wykonanie.

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ą.

Boolean Dla porównania 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.

Przeciążenie

Operator Or 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 użyto Or operatora do wykonania inkluzywnego logicznego rozłączenia dwóch wyrażeń. Wynik jest wartością reprezentującą Boolean , czy którekolwiek z dwóch wyrażeń to True.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Or b > c
secondCheck = b > a Or b > c
thirdCheck = b > a Or c > b

Powyższy przykład generuje wyniki Trueodpowiednio , Truei False.

Przykład 2

W poniższym przykładzie użyto Or operatora do wykonania logicznego rozłączenia logicznego dla poszczególnych bitów dwóch wyrażeń liczbowych. Bit we wzorcu wyników jest ustawiany, jeśli jeden z odpowiednich bitów w operandach ma wartość 1.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Or b)
secondPattern = (a Or c)
thirdPattern = (b Or c)

Powyższy przykład generuje wyniki odpowiednio 10, 14 i 14.

Zobacz też