Operator AndAlso (Visual Basic)
Wykonuje zwieranie połączeniu logiczną dwóch wyrażeń.
result = expression1 AndAlso expression2
Części
Termin |
Definicja |
result |
Wymagane.Każdy Boolean wyrażenie.Wynik jest Boolean wynik porównania dwóch wyrażeń. |
expression1 |
Wymagane.Każdy Boolean wyrażenie. |
expression2 |
Wymagane.Każdy Boolean wyrażenie. |
Uwagi
Operacja logiczna jest nazywany zwieranie Jeśli skompilowanego kodu można pominąć oceny jedno wyrażenie w zależności od wyniku innego wyrażenia.Jeśli wynik pierwszego wyrażenia oceniane Określa końcowy wynik operacji, istnieje potrzeba drugiego wyrażenia, ponieważ nie można zmienić, wynik końcowy.Zwieranie można zwiększyć wydajność , wyrażenie pomijana jest złożone lub pociąga za sobą wywołania procedura .
Jeśli oba wyrażenia do True, result jest True.W następującej tabeli pokazano, jak result jest ustalona.
If expression1 is |
And expression2 is |
Wartość result jest |
True |
True |
True |
True |
False |
False |
False |
(nie ocenie) |
False |
Typy danych
AndAlso operator jest zdefiniowany tylko dla Typ danych Boolean (Visual Basic). Visual Basic konwertuje każdy operand jako niezbędne do Boolean i wykonuje operację w całkowicie Boolean.Jeśli możesz przypisać wynik na typ liczbowy, Visual Basic konwertuje go z Boolean do tego typu.Może to dać nieoczekiwane zachowanie.Na przykład 5 AndAlso 12 skutkuje –1 podczas konwersji na Integer.
Przeciążenie
I Operator (Visual Basic) i Operator IsFalse (Visual Basic) może być nadmiernie, co oznacza, że klasy lub struktura można ponownie zdefiniować zachowanie ich podczas operand ma typ tej klasy lub struktura.Przeciążanie And i IsFalse podmiotów gospodarczych wpływa na zachowanie AndAlso operator. Jeśli korzysta z kodu AndAlso na klasy lub struktura overloads And i IsFalse, należy zrozumieć ich zachowanie przedefiniować.Aby uzyskać więcej informacji, zobacz Operator procedur (Visual Basic).
Przykład
W poniższym przykładzie użyto AndAlso operator do wykonywania logiczną dwóch wyrażeń. Wynik jest Boolean wartość, która reprezentuje czy cały conjoined wyrażenia jest PRAWDA.Jeśli pierwszy argument Wyrażenie jest False, drugi nie jest sprawdzane.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b AndAlso b > c
secondCheck = b > a AndAlso b > c
thirdCheck = a > b AndAlso c > b
Powyższy przykład produkuje wyniki True, False, i False, odpowiednio.Przy obliczaniu secondCheck, drugie wyrażenie nie jest sprawdzane, ponieważ pierwszy jest już False.Jednak drugie wyrażenie jest uwzględniane w obliczaniu thirdCheck.
W poniższym przykładzie Function procedura wyszukiwania dla danej wartości elementów tablicy. Jeśli tablica jest pusty lub przekroczył długość tablicy While wyciąg nie Testuj elementu tablicy przeciwko wartość wyszukiwania.
Public Function findValue(ByVal arr() As Double,
ByVal searchValue As Double) As Double
Dim i As Integer = 0
While i <= UBound(arr) AndAlso arr(i) <> searchValue
' If i is greater than UBound(arr), searchValue is not checked.
i += 1
End While
If i > UBound(arr) Then i = -1
Return i
End Function
Zobacz też
Informacje
Operatory logiczne lub operatory (Visual Basic)
Pierwszeństwo operatorów w języku Visual Basic
Podmioty wymienione według funkcji (Visual Basic)
Operator IsFalse (Visual Basic)