Использование break

  • Автор темы Автор темы Porosenok
  • Дата начала Дата начала

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 293
Реакции
123
Баллы
63
День добрый, есть код такой
Код:
Развернуть Свернуть Копировать
int counter = 0;
counter += 1;
if (counter == 1)
{
    project.SendInfoToLog("123", true);
    break;
}
Вроде все просто, но не работает, пишет Отсутствует внешняя точка для выхода из цикла или продолжения.
Что не так?
Нужно чтобы при выполнении условия код прекращался, и сниппет заканчивался с ошибкой, чтобы я мог дальше увести шаблон
 
break является точкой выхода из циклов for, foreach, while, но if - это не цикл, а условие.
Код:
Развернуть Свернуть Копировать
byte counter = 0;
while (counter != 1)
{
        project.SendInfoToLog("daada", false);
        counter++;
}
 
  • Спасибо
Реакции: masterLomaster и Porosenok
А если мне нужно чтобы при выполнении условия (с if) заканчивался снипет? Это не реально реализовать с помощью сишарпа?

А в этом коде что ты привел в пример, он ведь увеличит 1 раз и потом while не выполнится по условию. И он ведь пойдет дальше выполнять код другой, если он ниже есть? Это если кода нет дальше то конец, а допустим дальше идет еще код, тогда как?

Я придумал решение, но очень корявое, через goto и в самом конце case1
 
Код:
Развернуть Свернуть Копировать
while (true)
{
       if (твое условие)
       {
               участок кода;
               break;
       }
       else
       {
               участок кода;
       }
}
 
  • Спасибо
Реакции: Porosenok
C#:
Развернуть Свернуть Копировать
int counter = 0;
counter++;
if (counter == 1)
{
    project.SendInfoToLog("123", true);
    throw new Exception("ОШИБКА");
}
 
  • Спасибо
Реакции: serg1208
C#:
Развернуть Свернуть Копировать
int counter = 0;
counter++;
if (counter == 1)
{
    project.SendInfoToLog("123", true);
    throw new Exception("ОШИБКА");
}
Зачем же тут по ошибке выходить? Думаю лучше будет по зеленой:
return "ok";
Ну или если нужно по красной, то можно еще так:
return null;
 
Зачем же тут по ошибке выходить? Думаю лучше будет по зеленой:
return "ok";
Ну или если нужно по красной, то можно еще так:
return null;
Выход по ошибке в любом случае пойдет по красной линии, в данном случае это не играет роли =)
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)