как вырваться из блока "если" в VB.NET - PullRequest
7 голосов
/ 05 августа 2010

Как я могу выйти из , если оператор?

Выход работает только для "for", "sub" и т. Д.

Ответы [ 6 ]

8 голосов
/ 05 августа 2010

В VB.net:

if i > 0 then
   do stuff here!
end if

В C #:

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

Вы не можете «вырваться» из оператора if. Если вы пытаетесь это сделать, ваша логика неверна, и вы подходите к ней с неправильного угла.

Пример того, чего вы пытаетесь достичь, поможет уточнить, но я подозреваю, что вы неправильно его структурируете.

2 голосов
/ 05 августа 2010

В C # .NET:

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

    Console.Writeline("cool");
}

Или вы можете использовать оператор goto .

2 голосов
/ 05 августа 2010

Этого эквивалента не существует, но вам не нужно делать это с оператором If. Возможно, вы захотите изучить использование операторов Select Case (VB) или Switch (C #).

0 голосов
/ 19 марта 2019

Я должен признать, что в некоторых случаях вы действительно хотите иметь что-то вроде выхода на выход или перерыва.В редких случаях я использую «Goto End» и перепрыгиваю «End If» с помощью def.Конец:

0 голосов
/ 22 июня 2012

Вы можете использовать

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

return result;
0 голосов
/ 07 ноября 2011

Я знаю, что это старый пост, но я искал тот же ответ, но в конце концов я понял его

        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
        }

`

...