AndAlso и OrElse VB.NET Основные логические операторы

Выражение if генерирует ошибку «деление на ноль» в VB 6, потому что Value3 равен нулю. (Но увидеть Быстрый совет по делению на ноль подробнее об этом.) Может случиться так, что случаи, в результате которых Value3 будет нулевым, очень редки и происходят только тогда, когда Вы наслаждаетесь отпуском за тысячу миль, чтобы вас могли перезвонить, чтобы исправить программу в чрезвычайной ситуации. Режим. (Привет! Бывает!)

После смены А на А также программа работает! Причина в том, что последняя часть составного условия If (значение 2 \ значение3) фактически никогда не выполняется. Когда вы используете AndAlso, VB.NET знает, что выражение не может быть успешно выполнено, если определено, что первая часть условия - не больше, чем Value1 - ложна. Поэтому VB.NET тут же прекращает вычислять выражение. Подобный пример может быть построен с использованием OrElse.

Этот анализ также показывает, как можно повысить эффективность кода, правильно составив логическое выражение. Если вы поместите выражение, которое, скорее всего, будет ложным, в крайнее левое положение при использовании AndAlso, вы можете запретить использование циклов выполнения для оценки самого правого выражения. В одном тесте это не будет иметь большого значения, о чем стоит даже подумать. Но если ваш тест находится внутри некоторого цикла и выполняется миллионы раз, это может иметь большое значение.

instagram viewer

instagram story viewer