Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Break و Continue

جزء من قسم Logic & Flow في رحلة C# على Coddy — الدرس 21 من 66.

في C#، تُعد break و continue عبارات تمنحك تحكمًا أكبر في تنفيذ الـ loop.

عبارة break

تؤدي عبارة break إلى الخروج من الحلقة التكرارية (loop) فورًا:

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break; // اخرج من الحلقة عندما يساوي i 5
    }
    Console.WriteLine(i);
}

بعد تنفيذ الكود أعلاه، ستكون المخرجات:

1
2
3
4

تتوقف الـ loop بمجرد أن تكون قيمة i تساوي 5، ويستمر التنفيذ مع الكود الموجود بعد الـ loop.

تعليمات continue

تقوم تعليمات continue بتجاوز ما تبقى من التكرار الحالي (iteration) والانتقال مباشرة إلى التكرار التالي:

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue; // تخطي بقية هذا التكرار
    }
    Console.WriteLine(i);
}

بعد تنفيذ الكود أعلاه، ستكون المخرجات كالتالي:

1
2
4
5

لا يتم طباعة القيمة 3 لأن عبارة continue تتخطى Console.WriteLine(i) لتلك التكرار (iteration).

challenge icon

التحدي

سهل

اكتب دالة تُسمى ProcessNumbers تأخذ مصفوفة من الأعداد الصحيحة كمعامل. يجب أن تقوم الدالة بما يلي:

  1. طباعة جميع الأعداد في الـ array
  2. تخطي طباعة أي أعداد negative (باستخدام continue)
  3. إيقاف المعالجة إذا واجهت رقمًا greater than 100 (باستخدام break)
  4. إرجاع sum جميع الأعداد التي تم طباعتها (باستخدام return)

جرّب بنفسك

using System;

public class Program
{
    public static int ProcessNumbers(int[] numbers)
    {
        // اكتب الكود الخاص بك هنا
        return 0;
    }
    
    public static void Main(string[] args)
    {
        // اقرأ الإدخال من المستخدم
        string input = Console.ReadLine();
        int[] numbers;
        
        if (string.IsNullOrEmpty(input))
        {
            // مصفوفة عينة للاختبار
            numbers = new int[] { 5, -3, 10, 15, -7, 105, 20 };
        }
        else
        {
            string[] parts = input.Split(',');
            numbers = new int[parts.Length];
            for (int i = 0; i < parts.Length; i++)
            {
                numbers[i] = int.Parse(parts[i].Trim());
            }
        }
        
        int sum = ProcessNumbers(numbers);
        Console.WriteLine("Sum: " + sum);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow