Programación en net

Page 64

expresión que se tomara su tiempo... sería un desperdicio inútil tener que esperar ese tiempo, sobre todo sabiendo que no es necesario hacer esa segunda comprobación. En las versiones anteriores de Visual Basic, e incluso en la época del BASIC de MS-DOS, este tipo de expresiones se solían "partir" en dos comparaciones IF, ya que, si la primera no se cumple, no es necesario hacer la segunda, por tanto esa comparación se podría hacer de la siguiente forma: IF N = 3 THEN IF X > 10 THEN Es decir, sólo comprobamos la segunda expresión si se cumple la primera. Ahora, con Visual Basic .NET no es necesario tener que llegar a este "desdoblamiento" y podemos hacer la comparación "casi" como lo que hemos visto, pero usando una instrucción (u operador) especial: AndAlso. Cuando usamos AndAlso, Visual Basic .NET sólo comprobará la segunda parte, si se cumple la primera. Es decir, si N no vale 3, no se comprobará si X es mayor que 10, ya que no lo necesita para saber que TODA la expresión no se cumple. Por tanto, la comparación anterior podemos hacerla de esta forma: IF N = 3 ANDALSO X > 10 THEN Lo mismo, (o casi), ocurre con OR, aunque en este caso, sabemos que si el resultado de cualquiera de las expresiones usadas con ese operador es verdadero, la expresión completa se da por buena. Por ejemplo, si tenemos: IF N = 3 OR X > 10 THEN En el caso de que N valga 3, la expresión (N = 3 OR X > 10) sería verdadera, pero, al igual de lo que pasaba con AND, aunque N sea igual a 3, también se comprobará si X vale más de 10, aunque no sea estrictamente necesario. Para que estos casos no se den, Visual Basic .NET pone a nuestra disposición del operador OrElse. Cuando usamos OrElse, Visual Basic .NET sólo comprobará la segunda parte si no se cumple la primera. Es decir, si N es igual a 3, no se comprobará la segunda parte, ya que no es necesario hacerlo. En este caso la comparación quedaría de esta forma: IF N = 3 ORELSE X > 10 THEN A estos dos operadores se les llama operadores de cortocircuito (shortcircuit operators) y a las expresiones en las que participan se llaman expresiones cortocircuitadas. Otra cosa que debemos tener en cuenta cuando evaluamos expresiones lógicas, o cuando simplemente evaluamos expresiones, por ejemplo para asignar el resultado a una variable, hay que tener presente que Visual Basic .NET sigue un orden a la hora de evaluar las distintas partes de la expresión. Esto es lo que se llama:

64


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.