Opérateurs logiques de base AndAlso et OrElse VB.NET

L'expression if génère une erreur "diviser par zéro" dans VB 6 car Value3 est zéro. (Mais voyez le Astuce rapide pour diviser par zéro pour en savoir plus.) Il se pourrait que les cas qui aboutissent à la valeur zéro soient très rares et ne se produisent que lorsque vous profitez de vacances à des milliers de kilomètres pour pouvoir être rappelé pour réparer le programme en cas d'urgence mode. (Hey! Ça arrive!)

Après avoir changé And en AndAlso, le programme fonctionne! La raison en est que la dernière partie de la condition If composée - (valeur 2 \ valeur3) - n'est jamais réellement exécutée. Lorsque vous utilisez AndAlso, VB.NET sait que l'expression ne peut pas réussir une fois qu'il est déterminé que la première partie de la condition - a n'est pas supérieure à Value1 - est fausse. VB.NET arrête donc d'évaluer l'expression juste là. Un exemple similaire pourrait être construit en utilisant OrElse.

Cette analyse suggère également comment vous pouvez ajouter une certaine efficacité à votre code en organisant correctement une expression logique composée. Si vous placez l'expression la plus susceptible d'être fausse à la position la plus à gauche lorsque vous utilisez AndAlso, vous pouvez empêcher les cycles d'exécution d'être utilisés pour évaluer l'expression la plus à droite. Dans un seul test, cela ne ferait pas assez de différence pour que cela vaille la peine d'y penser. Mais si votre test se trouve dans une boucle quelconque et est exécuté des millions de fois, cela pourrait faire une grande différence.

instagram viewer