TOC

This article has been localized into Polish by the community.

Struktury kontrolne:

Pętle

Kolejną niezbędną techniką podczas pisania oprogramowania są pętle - możliwość powtarzania bloku kodu X razy. W C#, są 4 rodzaje pętli, przyjrzymy się każdemu z nich

Pętla while

Pętla while jest prawdopodobnie najprostsza, więc zaczniemy od niej. Pętla while wykonuje się tak długo jak długo ustalony warunek jest prawdziwy. Jeden przykład, a potem kolejne wyjaśnienia:

using System;

namespace ConsoleApplication1
{
    class Program
    {
static void Main(string[] args)
{
    int number = 0;

    while(number < 5)
    {
Console.WriteLine(number);
number = number + 1;
    }

    Console.ReadLine();
}
    }
}

Spróbuj skompilować kod. Zobaczysz listę cyfr od 0 do 4. Liczba jest na początku inicjowana wartością 0, a po każdym przejściu pętli jest zwiększana o jeden. Ale dlaczego liczy do 4 podczas gdy w kodzie zapisane jest 5? Aby warunek był prawdziwy, liczba musi być mniejsza od 5, co w tym przypadku oznacza, że pętla dla wartości 5 nie wykona się. Spowodowane jest to tym, że warunek sprawdzany jest zanim pętla się wykona.

Pętla do

Nieco inaczej jest w przypadku pętli "do", która działa podobnie jak pętla "while" z drobną różnicą. Pętla "do" ocenia warunek po wykonaniu pętli (pętla while robiła to przed), dzięki czemu blok kodu jest zawsze wykonywany przynajmniej raz.

int number = 0;
do  
{  
    Console.WriteLine(number);  
    number = number + 1;  
} while(number < 5);

Wynik jest jednak taki sam - gdy cyfra osiąga wartość 5, pętla się kończy.

Pętla for

Pętla for jest trochę inna. Najlepiej jeśli wiesz,jak wiele razy chcesz aby pętla się wykonała, lub znasz dokładną ilość jej przejść lub posiadasz zmienną przechowującą wartość. Poniżej przykład pętli.

using System;

namespace ConsoleApplication1
{
    class Program
    {
static void Main(string[] args)
{
    int number = 5;

    for(int i = 0; i < number; i++)
Console.WriteLine(i);

    Console.ReadLine();
}
    }
}

Daje to dokładnie to samo rozwiązanie, ale jak widać pętla for jest nieco bardziej zwarta. Składa się z 3 części - inicjalizujemy zmienną do zliczania, ustawiamy instrukcję warunkową w celu jej przetestowania i zwiększamy licznik (++ oznacza to samo, co „zmienna = zmienna + 1”).

Pierwsza część, w której definiujemy zmienną " i " i ustawiamy jej wartość na 0 jest wykonywana tylko raz, przed rozpoczęciem pętli. Ostatnie 2 części są wykonywane dla każdej iteracji pętli. Za każdym razem " i " jest porównywane z naszą zmienną liczbową (number=5) po czym jeśli " i " jest mniejsze od tej zmiennej, pętla jest wykonywana jeszcze raz. Następnie " i " wzrasta o jeden.

Spróbuj uruchomić program, a później spróbuj zmienić zmienną liczbową na większą lub mniejszą niż użyta 5. Zobaczysz, że pętla zareaguje na zmianę.

Pętla foreach

Ostatnią pętlą, której się przyjrzymy jest pętla foreach. Działa na kolekcjach elementów, na przykład tablicach lub innych wbudowanych typach list. W naszym przykładzie użyjemy jednej z prostych list, zwanej ArrayList. Działa podobnie jak tablica, ale nie martw się, przyjrzymy się temu w następnym rozdziale.

using System;
using System.Collections;

namespace ConsoleApplication1
{
    class Program
    {
static void Main(string[] args)
{    
    ArrayList list = new ArrayList();
    list.Add("John Doe");
    list.Add("Jane Doe");
    list.Add("Someone Else");
   
    foreach(string name in list)
Console.WriteLine(name);

    Console.ReadLine();
}
    }
}

OK, więc tworzymy instancję ArrayList, a następnie dodajemy do niej kilka elementów typu string. Użyjemy pętli foreach aby przejść przez każdy element ustawiając zmienną name na każdym z nich. W ten sposób każdy element z ArrayList zostanie po kolei przypisany do zmiennej name i wypisany na ekran. Jak widać, deklarujemy zmienną name jako typ string - zawsze musisz powiedzieć pętli foreach, jaki typ danych spodziewasz się wyciągać z kolekcji. Jeśli masz listę różnych typów, możesz użyć klasy obiektów zamiast określonej klasy, aby wyciągnąć każdy element jako obiekt.

Pracując z kolekcjami polubisz używanie pętli foreach. Między innymi dlatego że jest prostsza w użyciu od innych pętli przy tego typu operacjach.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!