حلقه while در C#
در این بخش به بررسی حلقه while در C# می پردازیم، در هر زبان برنامهنویسی، حلقهها ابزاری اساسی برای اجرای تکراری بخشهایی از کد هستند. حلقهها این امکان را به برنامهنویس میدهند که یک سری دستورات را به طور مکرر اجرا کند تا زمانی که یک شرط خاص برقرار باشد. در زبان C# نیز حلقهها بخش مهمی از ساختار کنترل جریان برنامه را تشکیل میدهند. یکی از مهمترین حلقهها در C#، حلقه while
است که بهویژه در مواقعی کاربرد دارد که تعداد تکرارهای لازم بهطور دقیق مشخص نیست، اما اجرای آنها به شرطی وابسته است.
حلقه while
در C# بهعنوان یک حلقه شرطی عمل میکند. در این حلقه، کد تا زمانی که شرط تعریفشده درست باشد، به طور مکرر اجرا میشود. از آنجا که این حلقه شرایط خاصی را برای ادامه اجرا بررسی میکند، ممکن است با توجه به شرایط خاصی که در برنامه وجود دارد، تعداد تکرارهای آن تغییر کند. در این مقاله، به بررسی نحوه استفاده از حلقه while
در C# خواهیم پرداخت، ساختار آن را توضیح خواهیم داد و با ارائه مثالهایی، موارد کاربرد و نکات مهم آن را روشن خواهیم کرد.
ساختار حلقه while
در C#
حلقه while
در C# بهصورت زیر تعریف میشود:
while (شرط)
{
// کدهایی که در صورت درست بودن شرط اجرا میشوند
}
در این ساختار، ابتدا شرط در داخل پرانتز نوشته میشود. اگر شرط درست باشد (یعنی مقدار آن true باشد)، کدهای داخل بلوک {}
اجرا میشوند. پس از آن، شرط دوباره بررسی میشود و اگر همچنان true باشد، کدهای بلوک دوباره اجرا میشوند. این روند تا زمانی که شرط false شود، ادامه مییابد.
به عبارت دیگر، حلقه while
برای هر بار اجرای خود ابتدا شرط را ارزیابی میکند و اگر شرط برقرار باشد، بخشهای داخل بلوک اجرا میشود. اگر در هر لحظه شرط به false تبدیل شود، حلقه متوقف میشود و کنترل به بخشهای بعدی کد منتقل میشود.
مثال:
در این مثال، متغیر i
از ۱ شروع میشود و حلقه تا زمانی که مقدار آن کمتر یا برابر ۵ باشد، اجرا خواهد شد. در هر بار تکرار، مقدار i
چاپ میشود و سپس یک واحد به آن اضافه میشود (i++
). بنابراین، خروجی این حلقه به شکل زیر خواهد بود:
1
2
3
4
5
نکات مهم در استفاده از حلقه while
- شرط خروج از حلقه: مهمترین بخش حلقه
while
، شرط آن است. باید دقت کنیم که شرط حلقه بهگونهای تعریف شود که در نهایت منجر به خروج از حلقه شود. در غیر این صورت، حلقه وارد یک حالت بیپایان (infinite loop) خواهد شد و برنامه متوقف یا کرش میکند. برای جلوگیری از این مشکل، باید اطمینان حاصل کنیم که در داخل حلقه، تغییری در متغیرهای شرط ایجاد شود که در نهایت شرط را به false تبدیل کند. - حلقههای بیپایان: در صورتی که درون حلقه شرط بهطور منطقی تغییر نکند، حلقه وارد حالت بیپایان خواهد شد. به این حالت، “حلقه بیپایان” یا
infinite loop
گفته میشود. این حلقهها ممکن است باعث ایجاد مشکلاتی در عملکرد برنامه شوند.
مثال از حلقه بیپایان:
در این مثال، بهدلیل اینکه مقدار i
در هر تکرار تغییر نمیکند، شرط همیشه true خواهد بود و حلقه هرگز متوقف نخواهد شد.
- کنترل حلقه با
break
وcontinue
: در C# میتوانیم از دستوراتbreak
وcontinue
برای کنترل بیشتر روی حلقهها استفاده کنیم. دستورbreak
باعث میشود که حلقه فوراً متوقف شود، در حالی که دستورcontinue
باعث میشود که فقط یک تکرار از حلقه پرش کرده و به تکرار بعدی برود.
مثال از استفاده از break
و continue
:
در این مثال، وقتی مقدار i
به ۳ میرسد، دستور break
اجرا میشود و حلقه متوقف میشود. بنابراین، خروجی این کد به شکل زیر خواهد بود:
1
2
اگر بخواهیم بهجای متوقف کردن حلقه، فقط به تکرار بعدی پرش کنیم، میتوانیم از دستور continue
استفاده کنیم:
در این مثال، وقتی مقدار i
برابر با ۳ میشود، دستور continue
اجرا میشود و حلقه به تکرار بعدی میرود. خروجی این کد به شکل زیر خواهد بود:
1
2
4
5
استفاده از حلقه while
برای پردازش ورودیها
یکی از کاربردهای رایج حلقه while
، استفاده از آن برای پردازش ورودیهای کاربر است. مثلاً میتوان از حلقه while
برای گرفتن ورودیهای مکرر از کاربر استفاده کرد تا زمانی که کاربر یک ورودی معتبر را وارد کند یا فرمان خاصی را برای خروج وارد نماید.
مثال:
در این مثال، حلقه بهطور مداوم از کاربر ورودی دریافت میکند. اگر کاربر دستور exit
را وارد کند، حلقه متوقف میشود. در غیر این صورت، ورودی کاربر بررسی میشود و اگر یک عدد معتبر باشد، نمایش داده میشود.
کاربردهای پیشرفته حلقه while
حلقه while
میتواند در مواقعی که میخواهیم یک پردازش را تا زمانی که یک شرط خاص برقرار باشد، انجام دهیم، بسیار مفید باشد. بهعنوان مثال، از حلقه while
میتوان برای پردازش دادههای جریانمحور، نظیر خواندن دادهها از فایلها یا پردازشهای شبکهای استفاده کرد. در این شرایط، حلقه تا زمانی که داده جدیدی وجود داشته باشد، ادامه مییابد و پس از پایان دادهها، به پایان میرسد.
مثال پردازش فایل:
در این مثال، حلقه while
تا زمانی که خطی از فایل file.txt
برای خواندن موجود باشد، ادامه مییابد.
حلقه while
در C# ابزاری بسیار مفید برای اجرای کد بهطور مکرر تا زمانی که یک شرط خاص برقرار باشد، است. این حلقه به برنامهنویسان این امکان را میدهد که بهطور انعطافپذیر و پویا برنامههایی بنویسند که نیاز به تکرار دارند. با این حال، باید دقت کنیم که شرط حلقه بهدرستی تعریف شود تا از بروز حلقههای بیپایان جلوگیری شود. همچنین، دستورات کنترل حلقه مانند break
و continue
میتوانند به برنامهنویسان کمک کنند تا کنترل بیشتری بر جریان اجرای حلقهها داشته باشند.
منابع
آیا این مطلب برای شما مفید بود ؟