حلقه ی do-while همانند حلقه while عمل می کند مگر در یک مورد و آن این است که حلقه do-while کدهای موجود در بدنه ی خود را برای حداقل یک بار اجرا میکند و این مورد به این دلیل است که حلقه ی do-while در ابتدا بلاک های کد موجود در بدنه خود را اجرا کرده و سپس شرط حلقه را بررسی می نماید.
حلقه ی do-while
از حلقه ی do-while
همانند حلقه های دیگر برای اجرای مجموعه ای از دستورات به صورت تکراری استفاده میشود.
قاعده نوشتاری حلقه do-while
به شکلی است که در زیر آمده است :
do { //execute code block
} while(boolean expression);
همانطور که در قاعده ی نوشتاری بالا مشاهده می کنید حلقه do-while
با کلمه رزرو شده do
آغاز شده و سپس کدهای اجرایی در بدنه حلقه قرار گرفته و در نهایت در انتهای حلقه عبارت شرطی ارزیابی می شود.
در نمونه مثال زیر می توانید با نحوه عملکرد حلقه do-while
آشنا شوید :
using System;
public class Program
{
public static void Main()
{
int i = 0;
do
{
Console.WriteLine("Value of i: {0}", i);
i++;
} while (i < 10);
}
}
خروجی :
Value of i: 0 Value of i: 1 Value of i: 2 Value of i: 3 Value of i: 4 Value of i: 5 Value of i: 6 Value of i: 7 Value of i: 8 Value of i: 9
استفاده از کلمه ی رزرو شده ی break
همانند حلقه های for
و while
توضیح داده شده در فصل های قبل می توان از کلمه رزرو شده break
برای اتمام حلقه do-while
و خروج از آن استفاده کرد :
int i = 0;
do
{ Console.WriteLine("Value of i: {0}", i); i++; if (i > 5) break;
} while (true);
خروجی :
Value of i: 0 Value of i: 1 Value of i: 2 Value of i: 3 Value of i: 4 Value of i: 5
حلقه های تو در توی do-while
می توان یک حلقه do-while را در حلقه do-while
دیگری به کار برد :
int i = 0;
do
{ Console.WriteLine("Value of i: {0}", i); int j = i;
i++; do { Console.WriteLine("Value of j: {0}", j); j++;
} while (j < 2);
} while (i < 2);
Try it
خروجی :
Value of i: 0 Value of j: 0 Value of j: 1 Value of i: 1 Value of j: 1
به خاطر داشته باشید که :
- حلقه ی do-while بلاکهایی از کد را به صورت تکراری اجرا میکند.
- حلقه do-while بلاک های موجود در بدنه ی خود را برای حداقل یک بار اجرا میکند.
- از کلمه رزرو شده break برای توقف اجرای حلقه do-while و خروج از آن استفاده کنید.
- در زبان سی شارپ حلقه های do-while را می توان به صورت تو در تو به کار برد.