![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Lexicss |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 16.8.2006 Где: Беларусь, Минск Репутация: нет Всего: 1 |
Оператор Switch .. case
Может ли этот оператор выполняться на условии диапазона значений например Switch(x) ... case 12 .. case 15? (т.е. выполнить при условии если x=12 или 13, или 14, или 15) В MSDN написано что вроде как не поддерживает неявное "проваливание". Но если всё-таки надо, кто как выкручивается? Можно делить на интервал, но это подходит если интервал одинаковый. Какие ещё есть методы? --------------------
Бери от жизни всё. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
Вообще-то это делается так
но я не думаю что на таких больших интервалах имеет смысл применять switch. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
язычок назовём? потому как в Jscript фортель, который показал azesmcar, не пройдёт...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
||||
|
||||
ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: 3 Всего: 7 |
В C# можно также, насколько я помню.
-------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
||||
|
||||
Lexicss |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 16.8.2006 Где: Беларусь, Минск Репутация: нет Всего: 1 |
azesmcar, по поводу перечисления понятно. А если у меня диапазон от 101 до 200. Неразумно все 100 case перечислять.
Так какие ещё варианты, заменить все case на if что ли? :( Это сообщение отредактировал(а) Lexicss - 27.8.2009, 16:35 --------------------
Бери от жизни всё. |
|||
|
||||
Rohoss |
|
||||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: нет Всего: 18 |
Так не перечесляйте ![]()
|
||||
|
|||||
neiron |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 18.4.2006 Где: Краснодар Репутация: нет Всего: 4 |
Комбинируйте switch с if. Как то:
Правда, часто такие конструкции запутывают очень сильно, но иногда наоборот код более читаемым делают. |
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Lexicss, в C# нет поддержки диапазонов. В описанной вами задаче лучше всего последовотельно рассматривать необходимые диапазоны через if ы. И не смешивайте вместе if и switch - это отрицательно сказывается на читабельности кода.
-------------------- Жизнь - печальная штука. |
|||
|
||||
Lexicss |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 16.8.2006 Где: Беларусь, Минск Репутация: нет Всего: 1 |
Короче в C# этого нету, вместо switch остаётся только использовать if. Спасибо всем ктоучавствовал в обсуждении.
--------------------
Бери от жизни всё. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |