2010-08-05 30 views

Respuesta

8

En VB.net:

if i > 0 then 
    do stuff here! 
end if 

En C#:

if (i > 0) 
{ 
    do stuff here! 
} 

No se puede 'salir' de una sentencia if. Si estás intentando esto, tu lógica es incorrecta y te estás acercando desde el ángulo equivocado.

Un ejemplo de lo que está tratando de lograr ayudaría a aclarar, pero sospecho que está estructurando incorrectamente.

2

No hay un equivalente, pero que realmente necesita para DEBERÍAMOS con una instrucción If. Es posible que desee considerar el uso de sentencias Select Case (VB) o Switch (C#).

2

En C# .NET:

if (x > y) 
{ 
    if (x > z) 
    { 
     return; 
    } 

    Console.Writeline("cool"); 
} 

O usted podría utilizar la instrucción goto.

+1

También podría lanzar una excepción y atraparla fuera de 'si'. O simplemente termine el proceso :) – RocketR

+0

Con respecto al comando 'goto', lea esto: http://stackoverflow.com/questions/46586/goto-still-considered-harmful – Gertsen

-3

Sé que esto es una entrada antigua, pero he estado buscando la misma respuesta luego con el tiempo he descubierto

 try{ 

      if (i > 0) // the outer if condition 
      { 
       Console.WriteLine("Will work everytime"); 
       if (i == 10)//inner if condition.when its true it will break out of the outer if condition 
       { 
        throw new Exception(); 
       } 
       Console.WriteLine("Will only work when the inner if is not true"); 
      } 
     } 
     catch (Exception ex) 
     { 
      // you can add something if you want 
     } 

`

+7

mala idea usar excepciones para el flujo de control. Ellos son lentos –

+4

omg ... ¿¡Qué es esta locura!?!? –

+3

Agregando a lo que dijo @KateGregory, las excepciones solo deben usarse cuando el programa ingresa en un estado raro, de error o inesperado. El uso de excepciones para los medios de control de flujo es más difícil de leer, confuso y menos comprensible para los demás. – Daryl

0

Puede utilizar

bool result = false; 
if (i < 10) 
{ 
    if (i == 7) 
    { 
     result = true; 
     break; 
    } 
} 

return result; 
+0

el código no se compila, indicando que no hay ningún bucle para salir de – Breeze

Cuestiones relacionadas