Wprowadzenie
Dzisiaj zajmiemy się jednym z najważniejszych narzędzi w arsenale każdego programisty - pętlami. Pętle pozwalają nam na wykonywanie powtarzalnych zadań w efektywny sposób, oszczędzając czas i redukując ilość kodu. W tym artykule skupimy się na praktycznych przykładach użycia pętli w C#.
Rodzaje pętli w C#
W C# mamy do dyspozycji cztery główne typy pętli:
1. Pętla for
2. Pętla while
3. Pętla do-while
4. Pętla foreach
Przyjrzyjmy się każdej z nich bliżej.
Pętla for
Pętla for jest idealna, gdy znamy dokładną liczbę iteracji.
Przykład: Wyświetlanie liczb od 1 do 10
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(i);
}
Praktyczny przykład: Obliczanie silni
int liczba = 5;
int silnia = 1;
for (int i = 1; i <= liczba; i++)
{
silnia *= i;
}
Console.WriteLine($"Silnia z {liczba} wynosi {silnia}");
Pętla while
Pętla while jest używana, gdy chcemy wykonywać blok kodu, dopóki określony warunek jest prawdziwy.
Przykład: Odliczanie od 10 do 1
int licznik = 10;
while (licznik > 0)
{
Console.WriteLine(licznik);
licznik--;
}
Console.WriteLine("Start!");
Praktyczny przykład: Zgadywanie liczby
Random random = new Random();
int liczbaDoZgadniecia = random.Next(1, 101);
int proba;
int liczbaProb = 0;
do
{
Console.Write("Zgadnij liczbę (1-100): ");
proba = Convert.ToInt32(Console.ReadLine());
liczbaProb++;
if (proba < liczbaDoZgadniecia)
Console.WriteLine("Za mało!");
else if (proba > liczbaDoZgadniecia)
Console.WriteLine("Za dużo!");
} while (proba != liczbaDoZgadniecia);
Console.WriteLine($"Brawo! Zgadłeś w {liczbaProb} próbach.");
Pętla do-while
Pętla do-while jest podobna do while, ale gwarantuje, że blok kodu zostanie wykonany przynajmniej raz.
Przykład: Prośba o poprawne hasło
string haslo;
do
{
Console.Write("Podaj hasło: ");
haslo = Console.ReadLine();
} while (haslo != "tajne");
Console.WriteLine("Dostęp przyznany!");
Pętla foreach
Pętla foreach jest używana do iteracji po kolekcjach, takich jak tablice czy listy.
Przykład: Wyświetlanie elementów tablicy
string[] owoce = { "jabłko", "banan", "pomarańcza", "gruszka" };
foreach (string owoc in owoce)
{
Console.WriteLine(owoc);
}
Praktyczny przykład: Obliczanie średniej ocen
List<double> oceny = new List<double> { 4.5, 3.5, 5.0, 4.0, 3.0 };
double suma = 0;
foreach (double ocena in oceny)
{
suma += ocena;
}
double srednia = suma / oceny.Count;
Console.WriteLine($"Średnia ocen: {srednia:F2}");
Zaawansowane techniki
Zagnieżdżanie pętli
Pętle można zagnieżdżać, co jest przydatne przy pracy z wielowymiarowymi strukturami danych.
int[,] tablica2D = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.Write(tablica2D[i, j] + " ");
}
Console.WriteLine();
}
Instrukcje break i continue
• break pozwala na natychmiastowe wyjście z pętli.
• continue przeskakuje do następnej iteracji pętli.
for (int i = 1; i <= 10; i++)
{
if (i == 5)
continue; /* Pomija 5 */
if (i == 8)
break; /* Kończy pętlę po dojściu do 7 */
Console.WriteLine(i);
}
Podsumowanie
Pętle są niezbędnym narzędziem w programowaniu, pozwalającym na efektywną automatyzację powtarzalnych zadań. Wybór odpowiedniego rodzaju pętli zależy od konkretnego scenariusza i danych, z którymi pracujemy. Jeśli chcesz pogłębić swoją wiedzę na temat pętli i innych fundamentalnych koncepcji programowania w C#, zachęcam do sprawdzenia mojego szkolenia online "Zostań Programistą .NET". W szkoleniu tym szczegółowo omawiamy nie tylko pętle, ale także wiele innych ważnych aspektów programowania, które pomogą Ci stać się skutecznym deweloperem .NET. Mam nadzieję, że ten artykuł był dla Ciebie pomocny i inspirujący. Jeśli masz jakiekolwiek pytania lub chcesz podzielić się swoimi doświadczeniami z używaniem pętli w C#, nie wahaj się zostawić komentarza poniżej. Powodzenia w Twojej przygodzie z programowaniem!