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

Break و Continue

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

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

جملة break

تقوم جملة break بالخروج من الحلقة التكرارية فوراً:

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

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

1
2
3
4

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

جملة continue

تقوم جملة continue بتخطي ما تبقى من التكرار الحالي والانتقال إلى التكرار التالي:

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

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

1
2
4
5

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

challenge icon

التحدي

سهل

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

  1. طباعة جميع الأرقام في المصفوفة
  2. تخطي طباعة أي أرقام سالبة (استخدم continue)
  3. إيقاف المعالجة إذا واجهت رقماً أكبر من 100 (استخدم break)
  4. إرجاع مجموع كل الأرقام التي تمت طباعتها

ورقة مرجعية

تؤدي جملة break إلى الخروج من الحلقة فوراً:

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

تؤدي جملة continue إلى تخطي بقية التكرار الحالي والانتقال إلى التكرار التالي:

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

جرّب بنفسك

using System;

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

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

جميع دروس Logic & Flow