في لغة C#، تُستخدم الكلمتان المفتاحيتان break و continue للتحكم في تدفق تنفيذ الحلقات التكرارية (loops) مثل for و while و do-while و foreach.

break:

تُستخدم break للخروج من الحلقة التكرارية بشكل فوري. عند مصادفة تعليمة break داخل حلقة، يتوقف تنفيذ الحلقة تمامًا، وينتقل التحكم إلى التعليمة التي تلي الحلقة مباشرةً.

مثال:

C#
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
break; // الخروج من الحلقة عندما يصبح i مساوياً لـ 5
}
Console.WriteLine(i);
}
// سيطبع البرنامج الأرقام من 1 إلى 4 فقط، ثم يتوقف.

في هذا المثال، عند وصول قيمة i إلى 5، يتم تنفيذ تعليمة break، مما يؤدي إلى الخروج من حلقة for، وبالتالي لن يتم طباعة الأرقام 5 إلى 10.

continue:

تُستخدم continue لتخطي دورة واحدة من الحلقة، والانتقال مباشرةً إلى بداية الدورة التالية. بمعنى آخر، عند مصادفة تعليمة continue، يتم تجاهل بقية التعليمات داخل الدورة الحالية، ويبدأ تنفيذ الدورة التالية.

مثال:

C#
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
continue; // تخطي طباعة الرقم 5
}
Console.WriteLine(i);
}
// سيطبع البرنامج الأرقام من 1 إلى 10 باستثناء الرقم 5.

في هذا المثال، عند وصول قيمة i إلى 5، يتم تنفيذ تعليمة continue، مما يؤدي إلى تخطي تعليمة Console.WriteLine(i) في هذه الدورة، وبالتالي لن يتم طباعة الرقم 5، ولكن سيستمر تنفيذ الحلقة وطباعة بقية الأرقام.

الفرق الرئيسي بين break و continue:

  • break يخرج من الحلقة بشكل كامل.
  • continue ينتقل إلى بداية الدورة التالية في الحلقة.

استخدامات أخرى لـ break:

بالإضافة إلى استخدامها في الحلقات، تُستخدم break أيضًا في تعليمة switch للخروج من حالة case محددة.

مثال:

C#
int day = 3;
switch (day)
{
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
default:
Console.WriteLine("Invalid day");
break;
}
// سيطبع البرنامج "Wednesday".

في هذا المثال، تُستخدم break للخروج من تعليمة switch بعد تنفيذ الحالة المطابقة.

باختصار، break و continue أدوات قوية للتحكم في تدفق تنفيذ الحلقات، وتساعدان في كتابة أكواد أكثر مرونة وكفاءة. أتمنى أن يكون هذا الشرح واضحاً ومفيداً.