Вопросы с тегом «switch-statement»

В компьютерном программировании оператор switch, case, select или inspect - это тип механизма управления выбором, используемый для вызова определенных блоков кода на основе переменного содержимого.



10
Переключение оператора для больше / меньше чем
поэтому я хочу использовать оператор switch следующим образом: switch (scrollLeft) { case (<1000): //do stuff break; case (>1000 && <2000): //do stuff break; } Теперь я знаю, что любое из этих утверждений ( <1000) или ( >1000 && <2000) не будет работать (очевидно, по разным причинам). То, что я спрашиваю, …

18
Почему оператор switch нельзя применять к строкам?
Компилируя следующий код и получил ошибку type illegal. int main() { // Compilation error - switch expression of type illegal switch(std::string("raj")) { case"sda": } } Вы не можете использовать строку в switchили case. Зачем? Есть ли какое-нибудь решение, которое хорошо работает для поддержки логики, похожей на включение строк?

19
Есть ли существенная разница между использованием if / else и switch-case в C #?
В чем польза / минус использования switchоператора по сравнению с if/elseC #. Я не могу представить, что есть такая большая разница, кроме, возможно, внешнего вида вашего кода. Есть ли какая-то причина, по которой результирующий IL или связанная с ним производительность во время выполнения будут радикально отличаться? Связанный: Что быстрее, включить …


8
Допустимый, но бесполезный синтаксис в switch-case?
Через небольшую опечатку я случайно нашел эту конструкцию: int main(void) { char foo = 'c'; switch(foo) { printf("Cant Touch This\n"); // This line is Unreachable case 'a': printf("A\n"); break; case 'b': printf("B\n"); break; case 'c': printf("C\n"); break; case 'd': printf("D\n"); break; } return 0; } Кажется, что printfв верхней части …

12
Как использовать нуль в switch
Integer i = ... switch (i){ case null: doSomething0(); break; } В приведенном выше коде я не могу использовать null в операторе switch case. Как я могу сделать это по-другому? Я не могу использовать, defaultпотому что тогда я хочу сделать что-то еще.

2
В JavaScript считается ли возврат из оператора switch лучшей практикой, чем использование break?
Вариант 1 - переключиться с помощью возврата: function myFunction(opt) { switch (opt) { case 1: return "One"; case 2: return "Two"; case 3: return "Three"; default: return ""; } } Вариант 2 - переключение с помощью перерыва: function myFunction(opt) { var retVal = ""; switch (opt) { case 1: retVal …

7
Оператор переключения для сопоставления строк в JavaScript
Как мне написать swtich для следующих условных выражений? Если URL содержит «foo», тогда settings.base_url - это «bar». Следующее - достижение требуемого эффекта, но я чувствую, что это будет более управляемым в коммутаторе: var doc_location = document.location.href; var url_strip = new RegExp("http:\/\/.*\/"); var base_url = url_strip.exec(doc_location) var base_url_string = base_url[0]; //BASE …

5
Переключить случай с падением?
Я ищу правильный синтаксис оператора switch с падающими падежами в Bash (в идеале без учета регистра). В PHP я бы запрограммировал это так: switch($c) { case 1: do_this(); break; case 2: case 3: do_what_you_are_supposed_to_do(); break; default: do_nothing(); } Я хочу то же самое в Bash: case "$C" in "1") do_this() …

10
Переключатель: по умолчанию должен быть последний случай?
Рассмотрим следующее switchутверждение: switch( value ) { case 1: return 1; default: value++; // fall-through case 2: return value * 2; } Этот код компилируется, но действительно ли он (= определенное поведение) для C90 / C99? Я никогда не видел код, в котором регистр по умолчанию не последний. РЕДАКТИРОВАТЬ: Как …

23
Преимущество переключения оператора if-else
Как лучше всего использовать switchоператор против использования ifоператора для 30unsigned перечислений, где около 10 имеют ожидаемое действие (в настоящее время это то же самое действие). Производительность и пространство необходимо учитывать, но это не критично. Я абстрагировал фрагмент, так что не ненавидите меня за соглашения об именах. switch заявление: // numError …

13
Может ли Objective-C включить NSString?
Есть ли более разумный способ переписать это? if ([cardName isEqualToString:@"Six"]) { [self setValue:6]; } else if ([cardName isEqualToString:@"Seven"]) { [self setValue:7]; } else if ([cardName isEqualToString:@"Eight"]) { [self setValue:8]; } else if ([cardName isEqualToString:@"Nine"]) { [self setValue:9]; }

8
Контроль не может провалиться из одной метки случая
Я пытаюсь написать оператор switch, который вводит поисковый термин в поле поиска в зависимости от того, какое текстовое поле поиска присутствует. У меня есть следующий код. Но я получаю сообщение об ошибке «Не удается выполнить контроль из одной метки». switch (searchType) { case "SearchBooks": Selenium.Type("//*[@id='SearchBooks_TextInput']", searchText); Selenium.Click("//*[@id='SearchBooks_SearchBtn']"); case "SearchAuthors": Selenium.Type("//*[@id='SearchAuthors_TextInput']", …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.