Break ו-Continue
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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) באותה איטרציה.
אתגר
קלכתבו מתודה בשם ProcessNumbers שמקבלת מערך של מספרים שלמים כפרמטר. המתודה צריכה:
- להדפיס את כל המספרים במערך
- לדלג על הדפסת מספרים שליליים (השתמשו ב־
continue) - להפסיק לעבד אם היא נתקלת במספר שגדול מ־100 (השתמשו ב־
break) - להחזיר את סכום כל המספרים שהודפסו
נסו בעצמכם
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);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין