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

Изразът if генерира грешка „разделяне на нула“ в VB 6, защото Value3 е нула. (Но вижте Бърз съвет за разделяне по нула за повече информация.) Възможно е случаите, в резултат на които Value3 е нула, да са много редки и да се появяват само когато наслаждавате се на почивка на хиляди мили, за да можете да се обадите обратно, за да оправите програмата при спешни случаи режим. (Хей! Случва се!)

След промяна на And на AndAlso, програмата работи! Причината е, че последната част от съединението If условие (стойност 2 \ стойност3) - никога не се изпълнява. Когато използвате AndAlso, VB.NET знае, че изразът не може да успее, след като установи, че първата част на условието - a не е по-голяма от Value1 - е невярна. Така VB.NET спира да оценява израза точно там. Подобен пример може да бъде конструиран с помощта на OrElse.

Този анализ също така предполага как можете да добавите някаква ефективност към вашия код, като подредите правилно сложен логически израз. Ако поставите израза, който най-вероятно е невярно, в най-лявата позиция, когато използвате AndAlso, можете да предотвратите използването на цикли на изпълнение за оценка на най-десния израз. В един тест няма да има достатъчно разлика, за да си заслужава дори да мислим. Но ако вашият тест е вътре в някакъв цикъл и се изпълнява милиони пъти, това може да доведе до голяма промяна.

instagram viewer