break و continue
i را از 1 تا 5 حلقه بزنید. وقتی i برابر 3 است، با break پیش از نوشتن از حلقه خارج شوید. صفحه باید فقط دو خط نشان دهد: 1، بعد 2. آن توقف زود یکی از ابزارهای این صفحه است. ابزار دیگر continue است که یک گذر را رد میکند و بعد حلقه را ادامه میدهد تا 3 نوشته نشود ولی 4 و 5 هنوز نوشته شوند. نام کلاس عمومی را Pine نگه دارید.
break حلقه را زود تمام میکند
فایل Pine را باز کنید. نام کلاس Pine میماند. این صفحه نوع را عوض نام نمیکند. اگر هنوز یک while ساده که فقط میشمارد آنجاست، پاکش کنید. اگر یک for ساده بدون if برای توقف زود میخواهید فقط دموهای این صفحه بمانند، آن را پاک کنید. هر خط ReadLine را هم پاک کنید. فایلی که نگه میدارید منتظر تایپ نیست، و صفحه فقط با خط نوشتنی نوشته میشود که وقتی if مقدار false دارد اجرا میشود.
درون Main، یک for بنویسید که بتواند زود بایستد:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
break;
}
Console.WriteLine(i);
}
سرصفحهٔ for همان شکلی است که از قبل بلدش هستید: شروع، آزمون، گام. داخل آکولاد، یک if میپرسد آیا i برابر 3 است. وقتی true باشد، break; اجرا میشود. break کل حلقهٔ for را یکجا ترک میکند. خط نوشتن زیر if برای آن گذر اجرا نمیشود، و i داخل این حلقه به 4 یا 5 نمیرسد. وقتی i برابر 1 یا 2 است، if مقدار false دارد، پس Console.WriteLine(i) عدد را مینویسد. فایل را ذخیره کنید.
فایلی که نگه میدارید
این شکل آموزشی را نگه دارید. یک for از 1 تا 5. یک if (i == 3) که break; را اجرا میکند. یک خط نوشتن بعد از if که نام لخت i را مینویسد. در فایلی که نگه میدارید continue نیست، و گیومه دور break هم نیست.
using System;
public class Pine
{
public static void Main()
{
for (int i = 1; i <= 5; i = i + 1)
{
if (i == 3)
{
break;
}
Console.WriteLine(i);
}
}
}
از بالا بخوانید. using System; نامهای کوتاه را آماده میکند. public class Pine نوع را نام میگذارد. public static void Main() جایی است که زمان اجرا شروع میکند. for مقدار i را از 1 به سمت 5 میبرد. وقتی i برابر 3 است، break; حلقه را تمام میکند. روی صفحه دو خط: 1، بعد 2. خط سوم نیست.
با dotnet run اجرا کنید. برنامه دو خط مینویسد و تمام میشود. منتظر نمیماند که شما چیزی تایپ کنید. اگر dotnet run منتظر ماند، هنوز ReadLine داخل فایل است. آن خط را پاک کنید و همان for با break بالا را نگه دارید. صفحه 1، بعد 2 را نشان میدهد. اگر صفحه پنج خط نشان دهد، break کم است یا if هرگز جور نمیشود. اگر صفحه حرفهای break را نشان دهد، خط نوشتن دور همان کلمه گیومه دارد. برای صفحهای که خط اشتباه نشان میدهد SDK داتنت را دوباره نصب نکنید.
اجرای break را به ترتیب راه بروید. i از 1 شروع میشود. if مقدار false دارد، پس خط نوشتن 1 مینویسد. گام 2 را نگه میدارد. if مقدار false دارد، پس خط نوشتن 2 مینویسد. گام 3 را نگه میدارد. حالا i == 3 مقدار true دارد، پس break اجرا میشود و for تمام میشود. برای 3، 4، یا 5 چیزی نوشته نمیشود. یک حلقهٔ ساده بدون break پنج خط مینوشت؛ break بعد از دو نوشتن حلقه را کوتاه کرد. بعد از break در آن گذر گام اجرا نمیشود، و آزمون دوباره پرسیده نمیشود، چون حلقه از قبل تمام شده.
continue یک گذر را رد میکند
بدنه را عوض کنید تا continue جای break بنشیند، و خط نوشتن را بعد از if نگه دارید:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
وقتی i برابر 3 است، continue; بقیهٔ آن گذر را — از جمله خط نوشتن — رد میکند و for به گام و آزمون بعدی میرود. خود حلقه تمام نمیشود. صفحه باید چهار خط نشان دهد: 1، 2، 4، و 5. جای خالی جایی است که 3 میبود.
using System;
public class Pine
{
public static void Main()
{
for (int i = 1; i <= 5; i = i + 1)
{
if (i == 3)
{
continue;
}
Console.WriteLine(i);
}
}
}
این فایل دوم است. فایلی که نگه میدارید نیست. dotnet run را اجرا کنید. صفحه چهار خط نشان میدهد. سرصفحهٔ for را عوض نکردید — فقط break به continue تبدیل شد. بعد از دیدن چهار خط، فایل نگهداشته را برگردانید: break داخل if. هر دو نسخه C# معتبرند. دو حرکت زود متفاوت را داخل همان شکل حلقه آموزش میدهند.
اجرای continue را یکبار دیگر بخوانید. i میرود 1، 2، 3، 4، 5. برای 1 و 2 مقدار if false است و عددها نوشته میشوند. برای 3 کلمهٔ continue خط نوشتن را رد میکند. برای 4 و 5 عددها دوباره نوشته میشوند. حلقه هنوز وقتی i به 6 برسد با توقف عادی تمام میشود. continue هرگز for را تمام نمیکند؛ فقط بقیهٔ یک گذر را رد میکند. بعد از continue، for هنوز گام i = i + 1 را اجرا میکند، پس شمارنده حرکت میکند حتی اگر آن گذر چیزی ننوشته باشد.
📊 tool and the screen
| Tool at i == 3 | Screen |
|---|---|
| break | 1 then 2 |
| continue | 1 then 2 then 4 then 5 |
جدول را بعد از یک اجرا برای چک به کار ببرید، نه بهجای اجرا. break دو خط میگذارد. continue چهار خط میگذارد با 3 غایب. اگر وقتی منظورتان continue بود هنوز 3 ظاهر شود، احتمالاً خط نوشتن بالای if است — Console.WriteLine(i) را زیر continue بگذارید تا رد شدن به آن برسد. ترتیب را درست کنید، نه این که SDK داتنت را دوباره نصب کنید.
قاعدههایی که دو ابزار را روشن نگه میدارند
break و continue داخل بدنهٔ حلقه مینشینند. نوشتن break; تنها در Main بدون for یا while دربرگیرنده باعث میشود build خطا بنویسد. برای continue; هم همین است. در این صفحه یک if لحظه را برمیگزیند: وقتی i برابر 3 است. بعداً میتوانید آزمونهای دیگر بنویسید؛ دموها i == 3 را نگه میدارند تا تغییر صفحه آسان دیده شود.
break همان continue نیست. break حلقه را تمام میکند. continue یک گذر را رد میکند و داخل حلقه میماند. break داخل switch در صفحهٔ قبلی یک case را تمام میکند؛ اینجا ساختار دربرگیرنده یک for است. یک while ساده که فقط میشمارد، یا یک for ساده بدون if، را در همان Main نگذارید و تعجب نکنید چرا هنوز هر عدد از 1 تا 5 نوشته میشود. Main این جلسه باید همان for بهعلاوهٔ if با break یا continue را نگه دارد.
اشتباه رایج نوشتن خود کلمه است: Console.WriteLine("break");. آن خط نویسههای break را مینویسد. حلقهای را متوقف نمیکند. اشتباه دیگر گذاشتن Console.WriteLine(i); پیش از ifای است که continue دارد، پس 3 هنوز نوشته میشود و بعد continue با چیزی برای رد کردن اجرا میشود. در هر دو دمو خط نوشتن را بعد از if نگه دارید. اگر continue را بدون حلقهٔ دربرگیرنده بنویسید، build خطا مینویسد؛ برای یک break تنها بیرون هر حلقه هم همین است. این دو کلمه در شکل این درس فقط داخل بدنهٔ حلقه معنا دارند.
حالا میتوانید break را داخل حلقه بگذارید تا زود خارج شوید، یا continue تا یک گذر را رد کنید و ادامه دهید. یک if میتواند زمان آن را برگزیند. صفحهٔ بعد foreach است، جایی که حلقه هر مقدار در یک مجموعه را راه میرود بدون آن که شروع، آزمون، و گام را به همان شکل با دست بنویسید.
صفحه همان حرکت زود است
فایلی که نگه میدارید 1، بعد 2 مینویسد. کلمهٔ break داخل فایل است، و break روی صفحه نیست. فایل دوم چهار خط مینویسد با 3 غایب. گیومه دور break حرف مینویسد، نه توقف زود را.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود