Zrozumienie instrukcji if-else w C#: Przewodnik dla początkujących
W programowaniu w C#, podejmowanie decyzji na podstawie warunków jest fundamentalnym aspektem tworzenia dynamicznych i responsywnych aplikacji. W tym miejscu pojawiają się instrukcje if-else. Instrukcja if-else w C# pozwala programowi wykonać różne bloki kodu w zależności od tego, czy określony warunek jest prawdziwy, czy fałszywy.
Ten przewodnik, zainspirowany wideo 'C# for Beginners Part 2 - Learn how to write an 'if-else' statement and a 'while' loop' autorstwa LaylaCodesIt, przedstawi podstawy instrukcji if-else w C#, korzystanie z operatorów warunkówych i logicznych w pisaniu wyrażeń boolowskich, demonstrując, jak sprawić, by programy inteligentnie reagowały na dane wejściowe użytkownika.
Wprowadzenie do logiki warunkówej
Logika warunkówa pozwala programowi podejmować decyzje na podstawie określonych warunków. Wideo Layli wprowadza koncepcję i składnię instrukcji if-else, przykładu logiki warunkówej, która wykonuje różne bloki kodu w zależności od tego, czy określony warunek jest prawdziwy, czy fałszywy.
W poniższym przykładzie kodu Layla pisze komunikat powitalny, aby zapytać, czy użytkownik lubi ser:
// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();
// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();
Simple If-Else Statement in C
Następnie, to warunkówe wyrażenie if-else sprawdza odpowiedź użytkownika i zmienia swoją odpowiedź na podstawie tego, co użytkownik powiedział. Warunek budowany jest za pomocą operatorów warunkówych, a na podstawie jego wyniku wykonywane są instrukcje wewnątrz bloków if-else. Oto prosty przykład z jednoliniowym wyrażeniem:
// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
Jeśli użytkownik powiedział 'tak', kod wewnątrz instrukcji if wyświetli komunikat z ofertą kawałka sera. Jeśli użytkownik odpowie czymkolwiek innym niż 'tak', wtedy blok else wyświetli "Oto kawałek węgla."
Kwestia wrażliwości na wielkość liter
Przy podstawowej instrukcji if-else może wystąpić częsty problem: wrażliwość na wielkość liter. Jeśli użytkownik wpisze 'Tak' zamiast 'tak', program nie rozpoznaje tego jako prawidłowego wejścia. Aby to rozwiązać, Layla używa metody ToLower(), która automatycznie konwertuje dane wejściowe użytkownika na małe litery i unika problemu z wielkością liter.
// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
Obsługa wielu warunków
Następnie Layla wyjaśnia, jak obsługiwać więcej niż dwie możliwe odpowiedzi za pomocą instrukcji else-if. Tutaj program sprawdza wiele instrukcji warunkówych - jeśli użytkownik odpowie 'tak', 'nie' lub cokolwiek innego.
// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
}
else
{
Console.WriteLine("Please give a yes or no answer.");
}
// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
}
else
{
Console.WriteLine("Please give a yes or no answer.");
}
Jak wcześniej, jeśli wyrażenie boolowskie w instrukcji if jest prawdziwe, program oferuje kawałek sera, gdy użytkownik mówi 'tak'. Jednak zamiast oferować kawałek węgla na jakąkolwiek inną odpowiedź, w instrukcji else-if, robi to teraz tylko wtedy, gdy użytkownik odpowie 'nie'. Jeśli użytkownik odpowie czymkolwiek innym niż 'tak' lub 'nie', część else programu poprosi użytkownika o podanie odpowiedzi 'tak' lub 'nie'. Zobaczmy wynik powyższego kodu w akcji: (Obraz można poprawić)

Używanie pętli
Aby zapewnić, że użytkownik poda prawidłową odpowiedź, wprowadza się pętle. Pętla może wielokrotnie prosić użytkownika o podanie danych, dopóki nie udzieli poprawnej odpowiedzi. Nazywa się to pętlą 'while', a poniższy przykład pokazuje, jak to działa:
// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;
while (!hasAnswered)
{
// Checking the user's response and setting hasAnswered to true for valid responses
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
hasAnswered = true;
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
hasAnswered = true;
}
else
{
Console.WriteLine("Please give a yes or no answer.");
doTheyLikeCheese = Console.ReadLine();
}
}
// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;
while (!hasAnswered)
{
// Checking the user's response and setting hasAnswered to true for valid responses
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
hasAnswered = true;
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
hasAnswered = true;
}
else
{
Console.WriteLine("Please give a yes or no answer.");
doTheyLikeCheese = Console.ReadLine();
}
}
W powyższym przykładzie pętla nadal prosi użytkownika, dopóki nie odpowie 'tak' lub 'nie'. Tutaj możesz zobaczyć to w akcji podczas wykonywania kodu, z wideo Layli:

Instrukcja If-Else - Podsumowanie
Podsumowując:
- Instrukcja if-else może podejmować decyzje w twoim kodzie
- Możesz obsługiwać wiele warunków za pomocą instrukcji else-if
- Pętle zapewniają, że użytkownicy udzielają poprawnych odpowiedzi
Logika warunkówa jest fundamentalna dla języka programowania C#, dlatego najlepiej ćwiczyć te koncepcje i zacząć je uwzględniać w swoim kodzie. A to dopiero początek. Instrukcja if, instrukcja else, schodki else-if, if-else wewnątrz if-else zwane również zagnieżdżonym if-else, instrukcja switch - logika warunkówa może diametralnie zmienić twój program i jest wiele do nauczenia się.
Wnioski
I wuala! To jest przewodnik dla początkujących po instrukcjach if-else i pętlach while. Jak wspomniano wcześniej, niniejszy przewodnik powstał z inspiracji LaylaCodesIt — zapraszamy do odwiedzenia jej kanału, gdzie można obejrzeć filmy demonstracyjne dotyczące wszystkich powyższych zagadnień oraz uzyskać więcej informacji na temat programowania w języku C#.
Tymczasem zapoznaj się z naszymi innymi zasobami, gdzie dzieli się naszymi ulubionymi twórcami, samouczkami i zasobami do nauki, aby zwiększyć swoje umiejętności w C#. Miłego kodowania!



