C# – حلقهها (Loops) – حلقه while
مقدمه
در بعضی مواقع ممکن است نیاز داشته باشید که یک بلوک از کد را چندین بار اجرا کنید. به طور کلی، دستورات به صورت متوالی اجرا میشوند: اولین دستور در یک تابع ابتدا اجرا میشود، سپس دومین دستور و به همین ترتیب.
زبانهای برنامهنویسی ساختارهای کنترلی مختلفی را ارائه میدهند که اجازه میدهند مسیرهای اجرایی پیچیدهتری را ایجاد کنیم.
یک دستور حلقه به ما اجازه میدهد که یک دستور یا گروهی از دستورات را چندین بار اجرا کنیم. شکل کلی یک دستور حلقه در اکثر زبانهای برنامهنویسی به این صورت است:
معماری حلقهها
C# انواع زیر از حلقهها را برای نیازهای حلقهزنی ارائه میدهد. برای جزئیات بیشتر میتوانید روی لینکهای زیر کلیک کنید.
شماره | نوع حلقه و توضیحات |
---|---|
1 | حلقه while : یک دستور یا گروهی از دستورات را تکرار میکند تا زمانی که یک شرط مشخص برقرار باشد. شرط را قبل از اجرای بدنه حلقه بررسی میکند. |
2 | حلقه for : یک توالی از دستورات را چندین بار اجرا میکند و کدی که متغیر حلقه را مدیریت میکند، مختصر میکند. |
3 | حلقه do...while : مشابه دستور while است، با این تفاوت که شرط را در انتهای بدنه حلقه بررسی میکند. |
4 | حلقههای تودرتو (nested loops): شما میتوانید یک یا چند حلقه را داخل هر حلقه while ، for یا do...while دیگر استفاده کنید. |
دستورات کنترل حلقه
دستورات کنترل حلقه، اجرای کد را از حالت معمول خود تغییر میدهند. زمانی که اجرای کد از یک محدوده خارج میشود، تمام اشیاء خودکار که در آن محدوده ایجاد شدهاند، از بین میروند.
C# دستورات کنترلی زیر را ارائه میدهد. برای جزئیات بیشتر میتوانید روی لینکهای زیر کلیک کنید.
شماره | دستور کنترلی و توضیحات |
---|---|
1 | دستور break : حلقه یا دستور switch را خاتمه میدهد و اجرای کد را به دستوری که بلافاصله پس از حلقه یا switch است منتقل میکند. |
2 | دستور continue : باعث میشود که حلقه بقیه بدنه خود را نادیده بگیرد و بلافاصله شرط خود را مجدداً بررسی کند. |
حلقه بینهایت (Infinite Loop)
یک حلقه زمانی بینهایت میشود که یک شرط هیچگاه نادرست نشود. حلقه for
به طور سنتی برای این منظور استفاده میشود. از آنجا که هیچیک از سه عبارتی که حلقه for
را تشکیل میدهند، الزامی نیست، شما میتوانید یک حلقه بینهایت را با خالی گذاشتن عبارت شرطی ایجاد کنید.
مثال
using System;
namespace Loops {
class Program {
static void Main(string[] args) {
for (; ; ) {
Console.WriteLine("Hey! I am Trapped");
}
}
}
}
وقتی عبارت شرطی غایب باشد، فرض میشود که همیشه درست است. ممکن است یک عبارت شروع و افزایش داشته باشید، اما برنامهنویسان بیشتر از ساختار for(;;)
برای نشان دادن یک حلقه بینهایت استفاده میکنند.
حلقه while
حلقه while
یک بلوک کد را تا زمانی که یک شرط مشخص برقرار باشد، اجرا میکند.
سینتکس
while (condition)
{
// بلوک کد برای اجرا
}
در مثال زیر، کد داخل حلقه تا زمانی که متغیر i
کمتر از 5 باشد، بارها و بارها اجرا خواهد شد:
مثال
int i = 0;
while (i < 5)
{
Console.WriteLine(i);
i++;
}
نکته: فراموش نکنید که متغیری که در شرط استفاده شده را افزایش دهید، در غیر این صورت حلقه هرگز پایان نمییابد!
حلقه do/while
حلقه do/while
نوعی از حلقه while
است. این حلقه بلوک کد را یک بار اجرا میکند، قبل از اینکه بررسی کند که شرط درست است یا نه، سپس حلقه را تکرار میکند تا زمانی که شرط درست باشد.
سینتکس
do
{
// بلوک کد برای اجرا
}
while (condition);
در مثال زیر، حلقه do/while
همیشه حداقل یک بار اجرا خواهد شد، حتی اگر شرط نادرست باشد، زیرا بلوک کد قبل از بررسی شرط اجرا میشود:
اخطار
فراموش نکنید که متغیری که در شرط استفاده شده را افزایش دهید، در غیر این صورت حلقه هرگز پایان نمییابد!
مثال
int i = 0;
do
{
Console.WriteLine(i);
i++;
}
while (i < 5);
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام