MC, 2025
Ilustracja do artykułu: C# switch – jak skutecznie kontrolować przepływ programu?

C# switch – jak skutecznie kontrolować przepływ programu?

Instrukcja switch w C# to jedno z najczęściej używanych narzędzi do sterowania przepływem programu. Pozwala ona na eleganckie i czytelne sprawdzanie wartości zmiennej, zamiast stosowania wielu instrukcji if. W tym artykule pokażemy Ci, jak działa switch w C#, jakie ma zalety oraz przedstawimy liczne c# switch przykłady.

Jak działa instrukcja switch w C#?

Instrukcja switch pozwala na porównanie wartości zmiennej z wieloma możliwymi przypadkami (case). Jeśli wartość zmiennej pasuje do któregoś z warunków, wykonywany jest kod znajdujący się w danym bloku.

Podstawowy przykład switch w C#:

int liczba = 2;

switch (liczba)
{
    case 1:
        Console.WriteLine("Wybrałeś jeden");
        break;
    case 2:
        Console.WriteLine("Wybrałeś dwa");
        break;
    case 3:
        Console.WriteLine("Wybrałeś trzy");
        break;
    default:
        Console.WriteLine("Nieznana liczba");
        break;
}

Jeśli zmienna liczba jest równa 2, zostanie wyświetlony komunikat: "Wybrałeś dwa".

Dlaczego warto używać switch?

Instrukcja switch ma kilka istotnych zalet:

  • Jest bardziej czytelna niż wiele instrukcji if-else
  • Może poprawić wydajność w porównaniu do wielokrotnych porównań if
  • Łatwo dodawać kolejne przypadki
  • Obsługuje zarówno liczby, jak i napisy

Switch z wartościami tekstowymi

Od wersji C# 7 można używać switch nie tylko dla liczb, ale także dla stringów:

string kolor = "czerwony";

switch (kolor)
{
    case "niebieski":
        Console.WriteLine("Kolor niebieski");
        break;
    case "czerwony":
        Console.WriteLine("Kolor czerwony");
        break;
    case "zielony":
        Console.WriteLine("Kolor zielony");
        break;
    default:
        Console.WriteLine("Nieznany kolor");
        break;
}

W tym przypadku, jeśli wartość zmiennej kolor wynosi "czerwony", program wyświetli "Kolor czerwony".

Switch w wersji wyrażeniowej

W nowszych wersjach C# możemy użyć wyrażeniowej wersji switch. Jest ona bardziej elegancka i czytelna:

string ocena = liczba switch
{
    1 => "Niedostateczny",
    2 => "Dopuszczający",
    3 => "Dostateczny",
    4 => "Dobry",
    5 => "Bardzo dobry",
    6 => "Celujący",
    _ => "Nieznana ocena"
};
Console.WriteLine(ocena);

To krótsza i bardziej nowoczesna forma instrukcji switch, która przypisuje wartość w zależności od zmiennej.

Switch bez instrukcji break

Standardowo każda instrukcja case kończy się słowem break. Jeśli jednak chcemy, aby kilka przypadków miało wspólne zachowanie, możemy je łączyć:

int dzieńTygodnia = 6;

switch (dzieńTygodnia)
{
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        Console.WriteLine("To dzień roboczy.");
        break;
    case 6:
    case 7:
        Console.WriteLine("To weekend!");
        break;
    default:
        Console.WriteLine("Nieznana wartość.");
        break;
}

Dzięki temu, gdy dzieńTygodnia ma wartość 6 lub 7, program wyświetli komunikat "To weekend!".

Switch i typy wyliczeniowe (Enums)

Instrukcja switch świetnie współpracuje z enum – typem wyliczeniowym:

enum DniTygodnia { Poniedziałek, Wtorek, Środa, Czwartek, Piątek, Sobota, Niedziela }

DniTygodnia dzien = DniTygodnia.Sobota;

switch (dzien)
{
    case DniTygodnia.Poniedziałek:
    case DniTygodnia.Wtorek:
    case DniTygodnia.Środa:
    case DniTygodnia.Czwartek:
    case DniTygodnia.Piątek:
        Console.WriteLine("To dzień pracy.");
        break;
    case DniTygodnia.Sobota:
    case DniTygodnia.Niedziela:
        Console.WriteLine("To weekend!");
        break;
}

To świetny sposób na przejrzyste kodowanie wartości o ograniczonym zakresie.

Podsumowanie

Instrukcja switch w C# to potężne narzędzie do sterowania przepływem programu. Jest łatwa w użyciu, poprawia czytelność kodu i świetnie współpracuje z typami int, string oraz enum. Nowoczesne wersje C# wprowadzają także wyrażeniowy switch, który sprawia, że kod jest jeszcze bardziej zwięzły i czytelny.

Mamy nadzieję, że nasze c# switch przykłady pomogą Ci lepiej zrozumieć to narzędzie i zacząć je efektywnie wykorzystywać w swoich projektach!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: