Оператор Andalso (Быстрое вычисление коньюкции)
 
Возвращает короткое вычисление-AND (конъюкции) двух числовых значений

Синтаксис

Declare Operator AndAlso ( ByRef lhs As T1, ByRef rhs As T2 ) As Ret

Использование

result = lhs AndAlso rhs

Параметры

lhs
Выражение слева.
T1
Любой числовой тип.
rhs
Выражение справа.
T2
Любой числовой тип.
Ret
 Integer.

Возвращаемое значение

Возвращает короткое вычисление-AND (конъюкции) двух операндов.

Описание

Этот оператор оценивает выражение слева. Если результат равен нулю, то сразу же нуль возвращается. Если результат не равен нулю, то оценивается правая часть, и логический результат этого возвращается.

Таблица истинности ниже демонстрирует все комбинации andalso.   '-' означает, что операнд не вычисляется.

Lhs значениеRhs значениеРезультат
0-0
Ненулевое00
Ненулевое Ненулевое-1


AndAlso - вычисляет только выражения, необходимые для вычисления результата.

Тип возвращаемого значения всегда является Integer, значения 0 или -1, обозначая соответственно false и true.

Этот оператор не может быть перегружен для определяемых пользователем типов.

Пример

'' Использование оператора ANDALSO для защиты от доступа как к массиву
'' если индекс находится вне диапазона

Dim As Integer isprime(1 To 10) = { _
    _ ' 1  2  3  4  5  6  7  8  9  10
        0, 1, 1, 0, 1, 0, 1, 0, 0, 0 _
    }

Dim As Integer n
Input "Enter a number between 1 and 10: ", n

'' isprime() массив может быть доступен только в том случае, если n в диапазоне
If (n >= 1 And n <= 10) AndAlso isprime(n) Then
    Print "n is prime"
Else
    Print "n is not prime, or out of range"
End If


Отличия от QB

  • Этот оператор не был доступен в QB.

См. также