Dzielimy się z Wami bezpłatnie wiedzą programistyczną.
Jeżeli doceniacie naszą pracę możecie nas wesprzeć dobrowolną wpłatą:
Instrukcja warunkowa if-else C#
Instrukcja warunkowa w programowaniu służy do ustalania warunków jakie muszą być spełnione by dane zdarzenie mogło mieć miejsce. Przykładów takiej konieczności jest wiele: sprawdzanie wieku użytkownika, stanu połączenia, czy też podział grup ze względu na wartość wybranego parametru.
Spis treści
Składnia warunku if
Budowa instrukcji warunkowej wygląda następująco:
if(warunek_logiczny)
{
// kod, który wykona się gdy warunek logiczny zostanie spełniony
}
W przypadku, gdy kod pod warunkiem jest jedną instrukcją to nawias klamrowy nie jest konieczny.
Warunek logiczny zwraca wartość true lub false i może być zapisany w nawiasie przy if lub może być sprawdzony wcześniej. Poniższe przykłady przedstawiają możliwe zastosowania warunków.
int i = 5; // zmienna typu int
if(i > 2) // sprawdzenie czy 5 jest większe od 2
{
// kod zostanie wykonany
}
bool sprawdz = 5 < 2; // zmienna typu bool, do której trafi
// wynik sprawdzenia czy 5 jest mniejsze od 2, czyli false
if(sprawdz) // zmienna sprawdz posiada wartość false, więc kod pod warunkiem
if
// nie zostanie wykonany. Zapis jest równoważny z "if(sprawdz == true)"
{
// kod NIE zostanie wykonany
}
if(true) // nie dochodzi do sprawdzenia warunku, wartość zawsze wynosi true,
// kod zawsze zostanie wykonany
{
// kod zostanie wykonany
}
int i = 5; // zmienna typu int
if(i >= 1 && i <= 10)
// sprawdzenie czy 5 znajduje się w przedziale
// liczb <1, 10>
{
// kod zostanie wykonany
}
Instrukcje zagnieżdżone
Jeżeli dla zaistnienia pewnego zdarzenia konieczne jest spełnienie większej ilości warunków należy je wszystkie wypisać. Zrealizować to można tak jak w poprzednim przykładzie, czyli podając więcej warunków w nawiasie if, co jest rozwiązaniem szybszym i zgrabniejszym. Istnieje czasem konieczność sprawdzania kilku warunków, gdy już jeden został spełniony – służą do tego instrukcje zagnieżdżone.
// Chcemy wyświetlić najlepiej dopasowaną sukienkę dla urody kobiety
string plec, kolor_wlosow, karnacja;
if(plec == "kobieta") // Pierwszy warunek pozwala wybrać z użytkowników
// tylko kobiety
{
// Warunki w tej klamrze zawsze dotyczyły będą tylko kobiet
if(kolor_wlosow == "blond") // Warunek wybierający wśród kobiet te
// z włosami o kolorze blond
Console.WriteLine("sukienka czerwona");
if(karnacja == "jasna") // Warunek wybierający wśród kobiet te
// z jasną karnacją
Console.WriteLine("sukienka niebieska");
}
Słowo kluczowe else
Stosując instrukcję warunkową if wykonujemy kod gdy podany warunek zostanie spełniony. Istnieją jednak sytuację, gdy interesuje nas także informacja o tym, że warunek nie został spełniony, a ilość pozostałych możliwych przypadków warunku jest duża. Rozwiązaniem tego zagadnienia jest słowo kluczowe else. Odnosi się ono do jednego warunku if i zostaje wykonane, gdy dany if nie został wykonany. W else nie należy starać się wpisywać warunków, ponieważ działa on tylko i wyłącznie wtedy gdy nie zadziałał if. W przypadku, gdy kod pod else jest jedną komendą, stosowanie nawiasów klamrowych także nie jest konieczne.
string kolor = "czerwony";
if(kolor == "czarny") //warunek nie został spełniony
{
// kod się nie wykona
}
else
{
// kod zostanie wykonany
}
Praktyczny przykład
Sprawdzanie przedziału wiekowego użytkownika i wykonywanie kodu dla wybranych przedziałów wiekowych.
if(wiek >= 18) // Sprawdzanie czy mamy do czynienia z osobą pełnoletnią
{
if(wiek >= 30 && wiek <=40)
{
Console.WriteLine("Masz między 30, a 40 lat");
// Dalszy kod dla ludzi z przedziału 30 - 40
}
if(wiek >= 50)
{
Console.WriteLine("Ukończyłeś 50'kę");
// Dalszy kod dla ludzi z przedziału 50+
}
}
else
{
Console.WriteLine("Jesteś niepełnoletni");
// Kod programu dla ludzi niepełnoletnich
}