Y también y OrElse VB.NET operadores lógicos básicos

La expresión if genera un error "dividir por cero" en VB 6 porque Value3 es cero. (Pero mira el Consejo rápido sobre dividir por cero para más información sobre eso.) Podría ser que los casos que dan como resultado que Value3 sea cero son muy raros y solo ocurren cuando está disfrutando de unas vacaciones a miles de kilómetros de distancia para que pueda volver a llamarlo para arreglar el programa en una emergencia modo. (¡Oye! ¡Sucede!)

Después de cambiar Y a AndAlso, ¡el programa funciona! La razón es que la última parte de la condición If compuesta (valor 2 \ valor3) nunca se ejecuta realmente. Cuando usa AndAlso, VB.NET sabe que la expresión no puede tener éxito una vez que se determina que la primera parte de la condición (a no es mayor que Value1) es falsa. Entonces VB.NET deja de evaluar la expresión allí mismo. Un ejemplo similar podría construirse usando OrElse.

Este análisis también sugiere cómo puede agregar algo de eficiencia a su código organizando una expresión lógica compuesta correctamente. Si coloca la expresión que es más probable que sea falsa en la posición más a la izquierda al usar AndAlso, puede evitar que se usen ciclos de ejecución para evaluar la expresión más a la derecha. En una sola prueba, no haría la diferencia suficiente como para que valga la pena pensarlo. Pero si su prueba está dentro de un ciclo de algún tipo y se ejecuta miles de millones de veces, podría hacer una gran diferencia.

instagram viewer

instagram story viewer