Menu
CoddyTech

Instrukcja switch

Część sekcji Podstawy ścieżki C# w Coddy. Lekcja 27 z 69.

Instrukcja switch działa jak wielowariantowa instrukcja if. Zamiast sprawdzać pojedynczy warunek, porównuje wartość zmiennej z wieloma przypadkami i wykonuje kod przypisany do pasującego przypadku.

Oto podstawowa struktura instrukcji switch:

switch (variable) {
    case value1:
        // Kod do wykonania, jeśli variable jest równe value1
        break;
    case value2:
        // Kod do wykonania, jeśli variable jest równe value2
        break;
    // ... więcej przypadków
    default:
        // Kod do wykonania, jeśli żaden przypadek nie pasuje
        break;
}
  • Po słowie kluczowym switch w nawiasach podaje się zmienną, którą chcesz sprawdzić.
  • Każdy case reprezentuje możliwą wartość zmiennej.
  • Kod wewnątrz każdego case jest wykonywany, jeśli zmienna pasuje do wartości danego przypadku.
  • Każdy niepusty case musi kończyć się instrukcją break (lub return), która kończy działanie switch. Pominięcie jej powoduje błąd kompilacji: w przeciwieństwie do C lub Java język C# nigdy nie pozwala na „przechodzenie” wykonania z jednego przypadku do następnego. Tylko puste etykiety przypadków umieszczone jedna nad drugą współdzielą kod, jak pokazano poniżej.
  • Przypadek default jest opcjonalny i zostaje wykonany, jeśli nie pasuje żaden inny przypadek.

Oto przykład:

int day = 3;
string dayName;
switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... przypadki dla pozostałych dni
    default:
        dayName = "Invalid day";
        break;
}

Możesz również połączyć kilka przypadków w jeden:

int day = 3;
string dayName;
switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... przypadki dla pozostałych dni
    default:
        dayName = "Invalid day";
        break;
}
challenge icon

Wyzwanie

Początkujący

Utwórz program, który przyjmuje numer miesiąca (1 dla stycznia, 2 dla lutego itd.) i wypisuje porę roku, do której należy ten miesiąc. Do obsługi logiki użyj instrukcji switch.

Pory roku i odpowiadające im miesiące:

  • Winter: grudzień (12), styczeń (1), luty (2)
  • Spring: marzec (3), kwiecień (4), maj (5)
  • Summer: czerwiec (6), lipiec (7), sierpień (8)
  • Autumn: wrzesień (9), październik (10), listopad (11)

Wypisz nazwę pory roku dokładnie tak, jak zapisano ją powyżej, po angielsku.

Spróbuj swoich sił

using System;

public class Program {
    public static void Main(string[] args) {
        int month = int.Parse(Console.ReadLine());
        string season = "";
        
        // Napisz swój kod poniżej
        
        
        Console.WriteLine(season);
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C# online