
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!