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!