0Pricing
C# Academy · درس

break وcontinue

تحكّم في تدفق الحلقة

break وcontinue درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 4 دروس في المجموع.

التحكم في الحلقة

أحيانًا لا تريد معالجة كل عنصر. توفر لك C# كلمتين أساسيتين لهذا الغرض.

توقف break الحلقة بالكامل، بينما تنتقل continue إلى العنصر التالي متجاوزةً بقية التكرار الحالي.

وظيفة break

تخرج break من الحلقة فورًا. ولن تتم زيارة أي عناصر أخرى.

استخدمها عندما تجد ما تبحث عنه ولا يعود هناك سبب لمواصلة التنفيذ.

foreach (var n in nums)
{
    if (n == 0) break;
    Console.WriteLine(n);
}

مثال على break

تطبع هذه الحلقة الأرقام إلى أن تصل إلى رقم سالب، ثم تتوقف.

بمجرد تنفيذ break، تنتهي الحلقة ويتابع التنفيذ من التعليمات البرمجية التي تليها.

int[] nums = { 3, 7, -1, 9 };
foreach (var n in nums)
{
    if (n < 0) break;
    Console.WriteLine(n);
}
Console.WriteLine("stopped");

وظيفة continue

تتجاوز continue بقية التكرار الحالي وتنتقل إلى العنصر التالي.

تستمر الحلقة في العمل؛ فهي تتجاهل فقط العمل الموجود بعد continue في ذلك التكرار.

foreach (var n in nums)
{
    if (n < 0) continue;
    Console.WriteLine(n);
}

مثال على continue

نتجاوز هنا الأرقام السالبة، لكننا نتابع معالجة بقية العناصر.

على خلاف break، تزور الحلقة جميع العناصر، ولا يتم تجاوز سوى الأرقام السالبة.

int[] nums = { 3, -2, 7, -5, 9 };
foreach (var n in nums)
{
    if (n < 0) continue;
    Console.WriteLine(n);
}

البحث باستخدام break

من الاستخدامات الشائعة لـ break البحث. توقف بمجرد العثور على تطابق.

يوفر ذلك الوقت لأنك تتجنب فحص بقية المجموعة.

string[] users = { "sam", "ada", "leo" };
bool found = false;
foreach (var u in users)
{
    if (u == "ada") { found = true; break; }
}
Console.WriteLine(found);

التصفية باستخدام continue

تُعد continue مفيدة للتصفية: تجاوز العناصر التي لا تستوفي الشرط، ونفّذ الإجراء على العناصر التي تستوفيه.

يجمع هذا المثال القيم الموجبة فقط.

int[] nums = { 5, -3, 8, -1 };
int total = 0;
foreach (var n in nums)
{
    if (n < 0) continue;
    total += n;
}
Console.WriteLine(total);

توقف break حلقة واحدة فقط

في الحلقات المتداخلة، تخرج break من الحلقة التي توجد بداخلها فقط.

تستمر الحلقة الخارجية في العمل. وينطبق الأمر نفسه على continue.

foreach (var row in grid)
{
    foreach (var v in row)
    {
        if (v == 0) break; // exits inner loop only
        Console.WriteLine(v);
    }
}

الجمع بين الكلمتين

يمكنك استخدام break وcontinue في الحلقة نفسها.

نتجاوز الأصفار هنا باستخدام continue، ونتوقف تمامًا عند الوصول إلى قيمة سالبة باستخدام break.

int[] nums = { 4, 0, 6, -1, 8 };
foreach (var n in nums)
{
    if (n == 0) continue;
    if (n < 0) break;
    Console.WriteLine(n);
}

اختيار الكلمة المناسبة

اسأل نفسك: هل أريد إيقاف الحلقة بأكملها، أم أريد تجاوز هذا العنصر فقط؟

إيقاف الحلقة → break. تجاوز عنصر واحد والمتابعة → continue.

التعليمات البرمجية بعد الحلقة

بعد أن تنهي break الحلقة، ينتقل التنفيذ إلى أول سطر يلي جسم الحلقة.

لا تغادر continue الحلقة مطلقًا؛ بل تبدأ التكرار التالي فقط.

foreach (var n in nums)
{
    if (n == 5) break;
    Console.WriteLine(n);
}
Console.WriteLine("after loop");

تحقق سريع

اختبر مدى استيعابك لـ break وcontinue.

مراجعة

تعلمت أن break تخرج من الحلقة بالكامل، بينما تتجاوز continue العنصر الحالي وتنتقل إلى العنصر التالي.

في الحلقات المتداخلة، تؤثر كل واحدة منهما في الحلقة التي توجد بداخلها فقط. استخدم break للبحث وcontinue للتصفية.

الأسئلة الشائعة

هل درس «break وcontinue» مجاني؟

نعم — نص درس «break وcontinue» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.

ماذا ستتعلم في «break وcontinue»؟

تحكّم في تدفق الحلقة تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «break وcontinue»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. حلقة foreach
  2. التكرار على المجموعات
  3. break وcontinue
  4. أخطاء التكرار الشائعة
← العودة إلى C# Academy