Dzielimy się z Wami bezpłatnie wiedzą programistyczną.
Jeżeli doceniacie naszą pracę możecie nas wesprzeć dobrowolną wpłatą:
Pętla while, do-while C#
Obok pętli for w języku C# znajdują się jeszcze pętle while oraz do-while (Pętla while, do-while C#). Zostaną one opisane wspólnie, ponieważ różnią się w niewielkim stopniu. Pętle pozwalają na wykonywanie tego samego kodu wielokrotnie na podstawie zadanych warunków. Poniższy wpis zawiera opis pętli while oraz do-while wraz z ich przykładowymi zastosowaniami.
Spis treści
Składnia pętli while
Pętla while posiada prostą składnię. Na początku, po wyrazie while pojawia się warunek, który musi zostać spełniony by pętla została wykonana. W nawiasie klamrowym znajduje się powtarzany ciąg kodu, wykonywany tak długo, jak długo warunek zwraca wartość true. Warunek sprawdzany jest po każdym wykonaniu wszystkich linii kodu w klamrach. Jeżeli jednym z elementów sprawdzanego warunku jest zmienna, to należy ją zadeklarować oraz zainicjować przed pojawieniem się pętli.
int i = 0;//Konieczna deklaracja i inicjacja przed przed pętlą
while (i < 6) //Warunek - dopóki jest spełniany, pętla jest wykonywana
{
Console.WriteLine("Wartość mniejsza od 6");
i++;
}
Składnia pętli do-while
Pętla do-while jest zbliżona w działaniu do pętli while, a jej podstawową różnicą jest to, że niezależnie od postawionego warunku, wykona się przynajmniej raz.
int i;//Konieczna deklaracja przed pętlą
do
{
Console.WriteLine("Wartość mniejsza od 6 lub pierwsza iteracja pętli");
i=5;
} while (i < 6);//Warunek - dopóki jest spełniany, pętla jest wykonywana
Zmienna, którą chcemy umieścić w warunku, musi być zadeklarowana przed wystąpieniem pętli w kodzie. Inicjacja zmiennej może pojawić się dopiero w pętli, ponieważ będzie to nadal przed sprawdzeniem warunku.
Zastosowanie pętli while
Wszystkie pętle stosować można zamiennie w do dowolnych operacji, które wymagają powtórzenia kodu. Poniżej znajduje się przykład pętli while wymagający interakcji z użytkownikiem.
int ileRazy;//Deklaracja zmiennej przed pętlą
Console.WriteLine("Ile razy wyświetlić napis? ");
ileRazy = int.Parse(Console.ReadLine());//int.Parse zamienia liczby wpisane jako string na typ int
while( ileRazy > 0 )//Wyświetli tak długo, jak długo zmienna ileRazy będzie większa od 0.
{
Console.WriteLine("Wyświetlam napis.");
ileRazy--;//W każdej iteracji zmniejsza wartość zmiennej
}
Zastosowanie pętli do-while
Pętla do-while sprawdza się np. do wyświetlania menu w programach konsolowych. Pierwsza iteracja pętli informuje użytkownika o możliwych wyborach, a następne zależą od dokonanego wyboru. Przykład takiego wykorzystania znajduje się poniżej:
int wybor;
do
{
Console.WriteLine("Wybierz numet operacji? Liczba 0 kończy pętlę.");
wybor = int.Parse(Console.ReadLine());
//Operacje dla wybranej 1
//Operacje dla wybranej 2
} while (wybor != 0);
Pętla while a pętla for
Porównanie pojawiło się już przy okazji omawiania pętli for, ale warto przypomnieć daną zasadę na innym przykładzie.
//Pętla while
int i = 20;
while(i > 10)
{
//Powtarzany kod programu
i--;
}
//Pętla for
for (int i = 20; i > 10; i--)
{
//Powtarzany kod programu
}