Blog Dla Młodszych Programistów C#/.NET

środa, 25 grudnia 2024

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#.

Pętle w C#: Automatyzacja Powtarzalnych Zadań w Programowaniu

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!

Autor artykułu:
Kazimierz Szpin
Kazimierz Szpin
CTO & Founder - FindSolution.pl
Programista C#/.NET. Specjalizuje się w Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET Web API, WPF oraz Windows Forms.
Autor bloga ModestProgrammer.pl
Dodaj komentarz

Wyszukiwarka

© Copyright 2024 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Regulamin. Polityka prywatności. Design by Kazimierz Szpin