Как сделать в switch в одном поле, несколько вариантов

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
Здравствуйте, как сделать в switch в одном поле, несколько вариантов? Т.е.
Код:
switch (project.Variables["callback"].Value)
            {
case "Первое значени|Второе значение".Split('|'):
                    project.Variables["t"].Value = "1";
                    break;
                default:
                    break;
            }
то есть нужно закинут в список и брать по одному значению и проверять.
 

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43
А разве второй case тебе не поможет?
А двойные значения разбивай до того как они дойдут до свитча.
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
А разве второй case тебе не поможет?
А двойные значения разбивай до того как они дойдут до свитча.
Второй поможет, но очень много case получится, просто на просто запутаюсь.
 

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43
Второй поможет, но очень много case получится, просто на просто запутаюсь.
Чем крупнее проект тем не избежны путаницы, используйте комментарии.

Как то раз я сделал проект с безупречной логикой, множество if и switch, через неделю удалил, ибо не мог понять структуру, которую сам же построил :-)
 
Последнее редактирование:

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
Попробовал так сделать. Не работает. Подскажите, в чем подвох. В переменной project.Variables["t"].Value пусто
Код:
switch (project.Variables["text"].Value)
            {      
                    case "Первое значение":
                    case "Второе значени":
                    project.Variables["t"].Value = "1";
                    break;
                case "Третье":
                case "Четвертое":
                    project.Variables["t"].Value = "2";
                    break;
                default:
                    break;
            }
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
в значениях case имеется unicode, поэтому все плохо. Как с этим бороться?
 

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43
У меня работает, значения берешь из списка?
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
У меня работает, значения берешь из списка?
из переменной техт, но в ней есть часть текста уникода (пример \ud83d\udc65) и равенство не находит. С обычным текстом у меня тоже работает.
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
Причем проблема в получение из переменной, если написать в switch ("\ud83d\udc65") то все ок.
 

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