در سیشارپ، هر حلقهای را که استفاده میکنید، معمولاً یک کار مشابهی را انجام میدهند و تفاوت آنچنانیای میان آنها وجود ندارد. همه آنها شرطی را خواهند داشت که تا زمان برقراری آن شرط (صحیح بودن آن برقرار باشد)، حلقه کدهای درون خود را اجرا خواهد کرد.
یکی دیگر از حلقههای موجود در سیشارپ، حلقه Do – While میباشد. ساختمان این حلقه بهشکل زیر است:
do
while(true);
ابتدا دقت کنید که علامت Semicolon بعد از while آمده است. ما این حلقه را با عبارت do شروع میکنیم و سپس دو براکت باز و بسته قرار داده و کدهای مورد نیاز را در درون آن قرار میدهیم تا هنگام صحیح بودن شرط مورد بررسی، این کدهای اجرا شوند. شرطی که باید بررسی شود پس از نوشتن عبارت while و گذاشتن جفت پرانتزها، نوشته میشود.
برای مثال، در پروژهای که در بحث قبلی آموزشی خودمان داشتیم (جدولضرب)، ما میتوانیم کدمان را بهشکل زیر اجرا کنیم:
do
while (i <= loopEnd);
این بار، بهجای آنکه از حلقه For استفاده کنیم، از حلقه Do-While استفاده کردیم. میبینید که این حلقه اجرا میشود تا زمانی که دستور مابین پرانتزهای while غلط شود. دقت کنید که جایی که باید متغیر i را مقدار دهی کنیم تا در حلقه از آن استفاده شود، باید خارج از این حلقه باشد؛ چرا که اگر قرار باشد داخل حلقه این مقداردهی صورت گیرد، هربار که حلقه اجرا میشود، این مقداردهی مجدداً تکرار میشود.
در کدهای بالا میبینید که مقدار i در داخل کد مقدارش افزایش داده میشود، چون حلقه Do-While مثل حلقه For نیست که از همان اول ۳ دستور لازم نوشته شود.
حلقه While
حلقهی While نیز یکی دیگر از حلقههای مورد استفاده در زبان سیشارپ میباشد. این حلقه نیز ساختار و عملکری بسیار شبیه به Do – While را دارد. ساختار نوشتاری آن بهشکل زیر میباشد:
while (true)
و اینبار کدهای مربوط به پروژه جدولضرب نیز با این حلقه مینویسیم:
while ( i <= loopEnd)
معمولاً استفاده از حلقههای While راحتتر از Do – While میباشد. اگر به دو حلقهی While و Do – While دقت کنید، شاید متوجه شدهباشد که در حلقه While، قبل از اجرای کدهای داخل حلقه، ابتدا شرط بررسی میشود و در صورتی که شرط صحیح میباشد، کدهای درون آن اجرا میشود. اما در حلقه Do – While ابتدا برای یکبار کدهای داخل حلقه اجرا میشود و در انتها شرط بررسی میشود؛ درصورتی که صحیح باشد، دوباره به بالا برمیگردد و کدها را یکبار دیگر اجرا و شرط را نیز بار دیگر بررسی میکند و به همین ترتیب …
شاید یکی از مسائلی که ذهن شما را مشغول ساخته است، این باشد که «خوب؛ من چطوری بفهمم که کدوم حلقه توی موقعیتهای مختلف باید استفاده شه؟» پاسخ این سوال این هست: بیشتر مواقع همیشه میتوانید از هر حلقهای که بخواهید استفاده کنید، اما شاید بعضی مواقع برای شما شرایطی بوجود میآید که مجبور میشوید از یک حلقهی خاص استفاده کنید؛ یا اینکه نمیتوانید از حلقهی خاصی استفاده کنید!
وقتی که تجربهی شما در سیشارپ بیشتر میشود، خودتان متوجه خواهید شد که کدام حلقه مناسبتر هست و لازم نیست که نگران آن باشید. اینها مهارتهایی هستند که در آینده بهصورت ناخودآگاه به آنها مسلط خواهید شد.