الحلقة اللانهائية
جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 47 من 69.
الحلقة اللانهائية (infinite loop) هي حلقة لا تتوقف أبداً لأن شرطها يتم تقييمه دائماً على أنه true. يمكن أن تحدث هذه الحلقات مع أي نوع من أنواع الحلقات (for، while، do-while)، ولكنها ترتبط بشكل شائع بحلقات while و do-while لأن شروطها يتم تحديدها بشكل صريح.
إليك مثال على حلقة while لانهائية:
while (true) {
Console.WriteLine("This will print forever!");
}في هذه الحالة، الشرط هو ببساطة true، والذي يتم تقييمه دائماً كـ true. وبالتالي، ستعمل الحلقة بشكل غير محدود، مما يؤدي لطباعة الرسالة مراراً وتكراراً.
طريقة أخرى لإنشاء حلقة لا نهائية هي عن طريق حذف الشرط في حلقة for:
for (;;) {
Console.WriteLine("This also prints forever!");
}هنا، تم حذف أجزاء التهيئة، والشرط، والتحديث في حلقة for بالكامل. هذا ينشئ حلقة تعمل إلى الأبد.
يمكن أن تحدث الحلقات اللانهائية أيضًا بشكل غير مقصود، مثلما يحدث عندما يكون شرط الحلقة دائمًا true بسبب خطأ منطقي:
int i = 0;
while (i < 10) {
Console.WriteLine("i is: " + i);
// i++ مفقودة لزيادة i
}في هذا المثال، المتغير i لا يتم زيادته أبدًا، لذا فإن الشرط i < 10 يكون دائمًا true. يؤدي هذا إلى إنشاء حلقة لا نهائية ستستمر في طباعة "i is: 0" إلى ما لا نهاية.
يمكن أن تكون الحلقات اللانهائية مفيدة في بعض الحالات، مثل برامج الخادم التي تحتاج إلى الاستمرار في العمل حتى يتم إيقافها يدويًا. ومع ذلك، يمكن أن تتسبب أيضًا في تجميد البرامج أو تعطلها إذا لم يتم التعامل معها بشكل صحيح.
ورقة مرجعية
الحلقة اللانهائية هي حلقة لا تتوقف أبدًا لأن شرطها يتم تقييمه دائمًا على أنه true.
حلقة while لانهائية مقصودة:
while (true) {
Console.WriteLine("This will print forever!");
}حلقة for لانهائية مع أجزاء محذوفة:
for (;;) {
Console.WriteLine("This also prints forever!");
}حلقة لانهائية غير مقصودة (زيادة مفقودة):
int i = 0;
while (i < 10) {
Console.WriteLine("i is: " + i);
// i++ مفقودة لزيادة i
}جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة9حلقات التكرار
حلقة Forحلقة Whileحلقة Do WhileBreakContinueالحلقات المتداخلةالحلقة اللانهائيةمراجعة - Dynamic Input