elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Un if realmente se lee cuando la condición es falsa?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Un if realmente se lee cuando la condición es falsa?  (Leído 10,117 veces)
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Un if realmente se lee cuando la condición es falsa?
« Respuesta #20 en: 8 Octubre 2013, 15:08 pm »

Acabo de ver: los OR y los AND, en el momento que uno sea true o que uno sea false (respectivamente), ya no se evalúa nada más.

*Visual Basic*


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Un if realmente se lee cuando la condición es falsa?
« Respuesta #21 en: 8 Octubre 2013, 18:12 pm »

¿C# no dispone del equivalente a andalso y orelse?

Si:

Código:
&& = AndAlso
|| = OrElse

Acabo de ver: los OR y los AND, en el momento que uno sea true o que uno sea false (respectivamente), ya no se evalúa nada más.

*Visual Basic*

Eso no es correcto, ocurre todo lo contratio a lo que has comentado,
para simular un OrElse y/o AndAlso en VB6 habría que agrupar expresiones:

Código:
(<Boolean Value 1> Or <Boolean Value 2>) And <Boolean Value 3>

Porfavor vuelvan a leer el comentario del compañero ABDERRAMAH sobre estos operadores.

Voy a poner un ejemplo para dejarlo todavía más claro si cabe sobre And y AndAlso en VB.NET:

Código
  1.        Private str As String = Nothing
  2.  
  3.        ' Esto dará una excepción de referencia a objeto no establecida,
  4.        ' Porque la segunda expresión se evalua de todas formas,
  5.        ' y esta intentará leer la longitud de un objeto que es NADA.
  6.        If str IsNot Nothing And str.Length <> 0 Then
  7.            ' Blah blah blah
  8.        End If
  9.  
  10.        ' Esto no dará ningún tipo de excepción,
  11.        ' Porque la segunda expresión no se evaluará si la primera no se cumple.
  12.        If str IsNot Nothing AndAlso str.Length <> 0 Then
  13.            ' Blah blah blah
  14.        End If

Saludos



« Última modificación: 8 Octubre 2013, 18:32 pm por EleKtro H@cker » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Un if realmente se lee cuando la condición es falsa?
« Respuesta #22 en: 8 Octubre 2013, 18:26 pm »

Eso no es correcto, ocurre todo lo contratio a lo que has comentado
En cuanto la expresión va a dar verdadero seguro, o falso seguro, no evalua el resto. Esto viene de MSDN de Windows.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Un if realmente se lee cuando la condición es falsa?
« Respuesta #23 en: 9 Octubre 2013, 01:55 am »

And Operator (Visual Basic):
Citar
In a Boolean comparison, the And operator always evaluates both expressions, which could include making procedure calls. The AndAlso Operator (Visual Basic) performs short-circuiting, which means that if expression1 is False, then expression2 is not evaluated.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con php Condicion de session « 1 2 »
PHP
alexkof158 15 11,276 Último mensaje 27 Noviembre 2009, 22:10 pm
por [u]nsigned
Realmente tengo que usar clases cuando puedo simplemente usar Querys?
Java
Aikanáro Anário 3 3,272 Último mensaje 27 Noviembre 2011, 01:54 am
por sapito169
No me sale INNER JOIN con condición
Bases de Datos
javirk 3 2,999 Último mensaje 5 Abril 2012, 20:49 pm
por Runex
Duda_con condicion if
Java
Tuplado 3 2,100 Último mensaje 28 Diciembre 2012, 17:01 pm
por 1mpuls0
Duda en una condición con return « 1 2 »
Programación C/C++
Blaster 10 5,099 Último mensaje 28 Junio 2013, 12:40 pm
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines