C# – حلقه‌ها (Loops) – حلقه while

مقدمه

در بعضی مواقع ممکن است نیاز داشته باشید که یک بلوک از کد را چندین بار اجرا کنید. به طور کلی، دستورات به صورت متوالی اجرا می‌شوند: اولین دستور در یک تابع ابتدا اجرا می‌شود، سپس دومین دستور و به همین ترتیب.

زبان‌های برنامه‌نویسی ساختارهای کنترلی مختلفی را ارائه می‌دهند که اجازه می‌دهند مسیرهای اجرایی پیچیده‌تری را ایجاد کنیم.

یک دستور حلقه به ما اجازه می‌دهد که یک دستور یا گروهی از دستورات را چندین بار اجرا کنیم. شکل کلی یک دستور حلقه در اکثر زبان‌های برنامه‌نویسی به این صورت است:

نمودار حلقه ها loop

معماری حلقه‌ها

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);

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.