Запитання з тегом «switch-statement»

У комп'ютерному програмуванні оператор перемикання, випадку, вибору або перевірки - це тип механізму контролю вибору, який використовується для виклику конкретних блоків коду на основі змінного вмісту.



10
Оператор переключення на більший за / менший за
тому я хочу використовувати оператор переключення, як це: 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 та регістром перемикання в C #?
Яка вигода / мінус у використанні switchоператора порівняно із знаком if/elseу C #. Я не можу уявити, що існує така велика різниця, крім, мабуть, вигляду вашого коду. Чи є якась причина, чому результуюча ІЛ або пов'язана з цим продуктивність виконання кардинально відрізнятиметься? Пов’язано: Що швидше, увімкніть рядок або інший тип?

8
Дійсний, але нікчемний синтаксис у випадку переключення?
Через невелику помилку я випадково знайшов цю конструкцію: 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вгорі switchтвердження є …


12
Як використовувати null в комутаторі
Integer i = ... switch (i){ case null: doSomething0(); break; } У наведеному вище коді я не можу використовувати null у заяві випадку перемикача. Як я можу це зробити інакше? Я не можу використовувати, defaultтому що тоді я хочу зробити щось інше.

2
У JavaScript, чи повернення з заяви перемикання вважається кращою практикою, ніж використання перерви?
Варіант 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 URL …

5
Перемикайте корпус з падінням?
Я шукаю правильний синтаксис оператора перемикання з випадаючими випадками в 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") …

10
Оператор переключення: за замовчуванням має бути останній випадок?
Розглянемо наступне switchтвердження: switch( value ) { case 1: return 1; default: value++; // fall-through case 2: return value * 2; } Цей код компілюється, але чи дійсний він (= визначена поведінка) для C90 / C99? Я ніколи не бачив код, де випадок за замовчуванням - не останній випадок. EDIT: …

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

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 (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.