Pytania otagowane jako switch-statement

W programowaniu komputerowym instrukcja switch, case, select lub inspect jest rodzajem mechanizmu kontroli wyboru używanego do wywoływania określonych bloków kodu w oparciu o zmienną zawartość.


30
Zastąpienia instrukcji switch w Pythonie?
Odpowiedzi na to pytanie są dziełem społeczności . Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Chcę napisać funkcję w języku Python, która zwraca różne stałe wartości na podstawie wartości indeksu wejściowego. W innych językach użyłbym instrukcji switchlub case, ale wydaje się, że Python …


23
Dlaczego zmiennych nie można zadeklarować w instrukcji switch?
Zawsze się nad tym zastanawiałem - dlaczego nie możesz zadeklarować zmiennych po etykiecie sprawy w instrukcji switch? W C ++ możesz deklarować zmienne niemal wszędzie (a deklarowanie ich przy pierwszym użyciu jest oczywiście dobrą rzeczą), ale następujące działania nadal nie będą działać: switch (val) { case VAL: // This won't …

21
Przełącz instrukcję wielu przypadków w JavaScript
Potrzebuję wielu przypadków w instrukcji switch w JavaScript, coś w stylu: switch (varName) { case "afshin", "saeed", "larry": alert('Hey'); break; default: alert('Default case'); break; } Jak mogę to zrobić? Jeśli nie ma sposobu, aby zrobić coś takiego w JavaScript, chcę poznać alternatywne rozwiązanie, które również opiera się na koncepcji DRY …

18
Wiele przypadków w instrukcji switch
Czy istnieje sposób na przejrzenie wielu instrukcji case bez podania nazwy case value: powtarzania? Wiem, że to działa: switch (value) { case 1: case 2: case 3: // Do some stuff break; case 4: case 5: case 6: // Do some different stuff break; default: // Default stuff break; } …

14
Zmiana instrukcji przełączania w C #?
Omówienie instrukcji Switch jest jednym z moich głównych głównych powodów, by kochać switchkontra if/else ifkonstrukty. Tutaj jest przykład: static string NumberToWords(int number) { string[] numbers = new string[] { "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; string[] tens = new string[] { "", "", "twenty", "thirty", …

30
Czy istnieje lepsza alternatywa dla „włączania typu”?
Widząc, że C # nie może być switchna typie (który, jak uznaję, nie został dodany jako szczególny przypadek, ponieważ isrelacje oznaczają, że casemoże mieć zastosowanie więcej niż jedna odmiana), czy jest lepszy sposób na symulację włączenia typu innego niż ten? void Foo(object o) { if (o is A) { ((A)o).Hop(); …



4
Dlaczego Java z włączonymi ciągłymi intami wydaje się działać szybciej z dodanymi przypadkami?
Pracuję nad kodem Java, który musi być wysoce zoptymalizowany, ponieważ będzie działał w gorących funkcjach, które są wywoływane w wielu punktach mojej logiki programu głównego. Część tego kodu polega na pomnożeniu doublezmiennych przez 10podniesione do dowolnych nieujemnych int exponent. Jeden szybki sposób (edit: ale nie najszybsze, patrz Aktualizacja 2 poniżej), …


6
Java: użycie instrukcji switch z enum w podklasie
Najpierw stwierdzę, że znacznie lepiej znam wyliczenia w języku C # i wygląda na to, że wyliczenia w języku Java są dość nieporządne. Jak widać, próbuję użyć instrukcji switch @ enums w następnym przykładzie, ale zawsze otrzymuję błąd bez względu na to, co robię. Błąd, który otrzymuję to: Etykietę kwalifikowanego …

21
Czy instrukcje switch powinny zawsze zawierać domyślną klauzulę?
W jednej z moich pierwszych recenzji kodu (jakiś czas temu) powiedziano mi, że dobrą praktyką jest dołączanie domyślnej klauzuli do wszystkich instrukcji switch. Niedawno pamiętałem tę radę, ale nie pamiętam, jakie było uzasadnienie. Brzmi dla mnie dość dziwnie. Czy istnieje uzasadniony powód, aby zawsze dołączać domyślne oświadczenie? Czy ten język …

12
Czy „zmiana” jest szybsza niż „jeśli”?
Czy switchwyciąg jest rzeczywiście szybszy niż ifwyciąg? Uruchomiłem poniższy kod na kompilatorze x64 C ++ programu Visual Studio 2010 z /Oxflagą: #include <stdlib.h> #include <stdio.h> #include <time.h> #define MAX_COUNT (1 << 29) size_t counter = 0; size_t testSwitch() { clock_t start = clock(); size_t i; for (i = 0; i …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.