Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / А за Goto в switch бьют по рукам или то норма? / 8 сообщений из 8, страница 1 из 1
26.09.2016, 15:51
    #39315718
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
Понятное дело, что за "goto метка" бьют, и сильно. Я бы от себя добавил.
Но тут закралась мысль, нормально ли использовать такие конструкции, как на примере ниже?

И ещё раз - речь не о константах "2","3", делающих программу нечитабельной. А именно о goto в switch.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
int number = 1;
switch (number)
{
    case 1:
        a = "hi";
        goto case 0;
    case 2:
        a = "Привет";
        goto case 0;
    case 3:
        a = "hail";
        //break;
    case 0:
        //обработка или инициализация других переменных, происходящая для
        //значений переменной number 0,1,2,3
        break;
    case 10:
        //что-то ещё
        break;
    case...
    default:
        Console.WriteLine("default");
        break;
}
...
Рейтинг: 0 / 0
26.09.2016, 15:55
    #39315732
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
Charles WeylandПонятное дело, что за "goto метка" бьют, и сильно. Я бы от себя добавил.
Но тут закралась мысль, нормально ли использовать такие конструкции, как на примере ниже?
Вполне нормально.
...
Рейтинг: 0 / 0
26.09.2016, 15:57
    #39315736
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
Я это решил спросить только по той причине, что лично я бы эту конструкцию использовал.
Но многие относятся к этому слову из четырёх букв гораздо хуже, чем к некоторому слову из трёх.
И, видя его, могут завопить - "что ты тут программу goto засераешь, чайник"
...
Рейтинг: 0 / 0
26.09.2016, 16:17
    #39315749
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
ИМХУ в конец case 3 тоже добавь goto. Через год захочешь добавить после него case 4 и не вспомнишь что после 3 обязательно 0 должен идти.
...
Рейтинг: 0 / 0
26.09.2016, 16:28
    #39315759
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
Dima TИМХУ в конец case 3 тоже добавь goto. Через год захочешь добавить после него case 4 и не вспомнишь что после 3 обязательно 0 должен идти.
Я (и вы заодно тоже) c С++ перепутал.
Оно и не скомпилируется так. break в C# обязателен.
...
Рейтинг: 0 / 0
26.09.2016, 16:40
    #39315773
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
Charles Weylandbreak в C# обязателен.
Вроде нет, судя по примерам .
...
Рейтинг: 0 / 0
26.09.2016, 16:49
    #39315793
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
Dima TВроде нет, судя по примерам .
Невнимательно смотрите примеры)) Там стоит либо break, либо goto.
А именно молчаливая передача управления от одного case к следующему, как в C++, невозможна.
Я не поленился проверить))
...
Рейтинг: 0 / 0
26.09.2016, 17:10
    #39315819
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А за Goto в switch бьют по рукам или то норма?
Charles WeylandНевнимательно смотрите примеры)) Там стоит либо break, либо goto.

Либо return, либо throw.
А вообще скоро придет pattern matching.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / А за Goto в switch бьют по рукам или то норма? / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]