Operadores lógicos básicos AndAlso e OrElse VB.NET

A expressão if gera um erro "dividir por zero" no VB 6 porque o Valor3 é zero. (Mas veja o Dica rápida sobre dividir por zero para saber mais sobre isso.) Pode ser que os casos que resultam em Valor3 sejam zero são muito raros e só ocorrem quando você está curtindo férias a milhares de quilômetros de distância, para que possa ser chamado de volta para consertar o programa em uma emergência modo. (Ei! Acontece!)

Depois de alterar And para AndAlso, o programa funciona! O motivo é que a última parte da condição If composta - (valor 2 \ valor3) - nunca é realmente executada. Quando você usa o AndAlso, o VB.NET sabe que a expressão não pode ser bem-sucedida quando for determinado que a primeira parte da condição - a não é maior que Valor1 - é falsa. Portanto, o VB.NET para de avaliar a expressão ali. Um exemplo semelhante pode ser construído usando OrElse.

Essa análise também sugere como você pode adicionar alguma eficiência ao seu código organizando uma expressão lógica composta corretamente. Se você colocar a expressão que provavelmente será falsa na posição mais à esquerda ao usar o AndAlso, poderá impedir que ciclos de execução sejam usados ​​para avaliar a expressão mais à direita. Em um único teste, não faria diferença suficiente para valer a pena sequer pensar. Mas se o seu teste estiver dentro de um loop de algum tipo e for executado zilhões de vezes, poderá fazer uma grande diferença.

instagram viewer