Jason. Cała informatyka w jednym miejscu!

Czynimy kolejne kroki ku poznania "CSharpa"! Istnieje trzecia odmiana pętli o nazwie "do while". Pętla "do while" w języku C# posiada jedną unikalną cechę, która odróżnia ją od poznanej wcześniej pętli "while". Chcecie się dowiedzieć co to za cecha? To siadajcie wygodnie i zaglądajcie do środka :D!

PĘTLA "DO WHILE" W JĘZYKU C# NAJPIERW WYKONUJE, POTEM ZADAJE PYTANIA

"do while" wymaga najwięcej wierszy w kodzie źródłowym z powodu jej rozgałęzionej budowy, która można rzec, składa się z dwóch części. Najpierw jest blok instrukcji umieszczany tuż pod słowem "do", a pod spodem znajduje się "while" z częścią weryfikacyjną, czyli pisząc kolokwialnie mamy samą "główkę" pętli "while". Pułapka dla mało spostrzegawczych, średnik na końcu!

ZAPAMIĘTAJ TO NA CAŁE ŻYCIE!

Pętla "do while" charakteryzuje się jeszcze jedną różnicą - ona NAJPIERW wykonuje zawarte instrukcje, a PÓŹNIEJ sprawdza podany warunek. Zatem, gdybyście mieli na jakimś teście zadanie czym się różni pętla "while" od "do while", to piszecie że pętla "do while" ZAWSZE wykona się przynajmniej jeden raz, bez względu na warunek.

ZAPIS W KODZIE

A tak wygląda zapis pętli "do while" w kodzie źródłowym:

do
{
	// instrukcje
}
while ([weryfikacja]);

Macie wszystko to, co opisałem pod samym największym nagłówkiem. Pamiętajcie koniecznie o tym średniku na końcu, gdyż jest on wymagany tutaj, ale przy pętli "while" już nie jest. Pętla "do while" w języku C# (i nie tylko tutaj) z reguły wymaga wstawienia średnika zaraz po części "while". Nie spotkałem się jeszcze z sytuacją, żeby język "czuły" na średniki nie wymagał jego wstawienia w wymienionym miejscu.

PRZYKŁAD KODU ŹRÓDŁOWEGO

Aby nie czynić tego artykułu surowym, sfinalizujemy to sobie krótkim przykładem. Chcemy hipotetycznie wypisać sobie na strumieniu wyjściowym liczby od jednego do stu. Mamy taki oto kod:

int i = 1;

do
{
	Console.WriteLine(i++);
}
while (i <= 100);

Pamiętajcie jednak, że można tak zaprogramować aplikację, że pętla "do while" w języku C# spowoduje pójście o jeden krok za dużo, co może przyczynić się do powstawania ogromnych problemów. Zwłaszcza podczas debugowania, gdyż kompilator Was nie uprzedzi, że popełniliście błąd semantyczny (rodzaj błędu polegającego na działaniu programu w sposób odmienny niż założony).

Pętla "do while" w języku C#

Pętla "do while" różni się od pętli "while" jednym drobnym szczegółem - ona NAJPIERW wykona wszystkie instrukcje, a POTEM zbada warunek zakończenia!


Wydaje mi się, że wszystko co mogłem Wam przekazać na ten temat już przekazałem. Pętla "do while" w języku C# jest z reguły rzadko wykorzystywana i częściej "odzywa się" upodobanie niż konieczność użycia, ponieważ każdy kod można przenieść do pętli "while" i będzie działać tak samo, o ile nie trzeba się zabezpieczyć przed jednorazowym gwarantowanym wykonaniem.

PODOBNE ARTYKUŁY