Menu
Coddy logo textTech

לולאה אינסופית

חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 47 מתוך 69.

לולאה אינסופית היא לולאה שאינה נעצרת לעולם, משום שהתנאי שלה תמיד מוערך כ־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" ללא הגבלה.

לולאות אינסופיות יכולות להיות שימושיות במקרים מסוימים, למשל בתוכניות שרת שצריכות להמשיך לפעול עד שעוצרים אותן באופן ידני. עם זאת, הן גם עלולות לגרום לתוכניות לקפוא או לקרוס אם לא מטפלים בהן כראוי.

נסו בעצמכם

השיעור הזה לא כולל אתגר קוד.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C# אונליין