آموزش حلقه های بی نهایت در سی شارپ
ما می توانیم حلقه هایی تعری کنیم که هرگز پایان نمی یابند. بعنوان یک مثال بسیار ساده، کد زیر را در نظر بگیرید:
while (true)
{
//کدهای درون حلقه
}
این کد می تواند مفید باشد و ما همواره می توانیم با استفاده از کدهایی مانند دستور break یا به صورت دستی، با استفاده از Windows Task Manager از این حلقه ها خارج شویم. اما وقتی که این اتفاق به صورت تصادفی رخ دهد، آزار دهنده است. به حلقه ی زیر توجه کنید؛ این حلقه، مشابه با حلقه ی for در بخش قبلی است:
int i = 1;
while (i <= 10)
{
if ((i % 2) == 0)
continue;
WriteLine($"{i++}");
}
در اینجا، ما شمارنده و افزایش i را در آخرین خط از حلقه، که پس از دستور continue قرار گرفته است، قرار داده ایم. اگر به دستور continue برسیم(مثلا وقتی که i برابر با 2 می شود)، حلقه ی فعلی پایان می یابد و چیزی به i اضافه نمی شود. پس در حلقه ی بعدی مقدار i تغییر نکرده است و از همین مقدار استفاده می کند. یعنی دوباره همین مقدار i تست می شود و دوباره دستور continue اجرا می شود و همین طور الی آخر. یعنی این یک حلقه ی بی نهایت است چون هرگز به مقدار 2 اضافه نمی شود.
این کار باعث می شود که اپلیکیشن فریز(freeze) شود. توجه کنید که هنوز می توانیم از اپلیکیشن فریز شده به صورت نرمال خارج شویم؛ بنابراین اگر چنین اتفاقی بیفتد، نیازی به راه اندازی مجدد رایانه(reboot) نیست.
آموزش برنامه نویسی, کتاب آموزش سی شارپ, آموزش سی شارپ
- بازدید: 323
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.