جاري التحميل...

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.

break when i is 3

csharp
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 كحروف، فسطر كتابة فيه اقتباس حول تلك الكلمة. لا تعيد تثبيت .NET 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.

continue when i is 3

csharp
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. إن ظهر 3 وما زال قصدك continue، فسطر الكتابة غالبًا فوق if — انقل Console.WriteLine(i) تحت continue حتى يصل التخطّي إليه. أصلح الترتيب بدل إعادة تثبيت .NET 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 يكتب حروفًا، لا توقفًا مبكرًا.

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
5
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى