פקודות קפיצה (goto)
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 20 מתוך 66.
הפקודה goto ב-C# מאפשרת להעביר את השליטה ישירות לפקודה המסומנת בתווית באותה מתודה.
צרו תווית בקוד שלכם:
start:השתמשו במשפט goto כדי לקפוץ לתווית הזו:
goto start;הנה דוגמה פשוטה שמשתמשת ב־goto כדי ליצור לולאה:
int i = 0;
start:
if (i < 5)
{
Console.WriteLine(i);
i++;
goto start;
}לאחר ביצוע הקוד שלמעלה, הפלט יהיה:
0
1
2
3
4אף ש־goto קיימת ב־C#, בדרך כלל מומלץ להשתמש במקום זאת במשפטי זרימת בקרה מובנית (if, for, while וכו׳), מכיוון שהם הופכים את הקוד לקריא יותר וקל יותר לתחזוקה.
אתגר
קלצרו מתודה בשם ProcessCommands שמקבלת ארגומנט אחד:
- מחרוזת (
command) שמכילה פקודה לעיבוד.
המתודה צריכה לממש מעבד פקודות פשוט באמצעות הוראות goto:
- אם הפקודה היא "start", הדפיסו "Starting process" ואז עברו לתווית "end"
- אם הפקודה היא "stop", הדפיסו "Stopping process" ואז עברו לתווית "end"
- אם הפקודה היא "pause", הדפיסו "Pausing process" ואז עברו לתווית "end"
- אם הפקודה היא כל דבר אחר, הדפיסו "Unknown command" ואז עברו לתווית "end"
- בתווית "end", הדפיסו “Command processed”
נסו בעצמכם
using System;
public class Program
{
public static void ProcessCommands(string command)
{
// כתבו את הקוד שלכם כאן
}
public static void Main(string[] args)
{
string command = Console.ReadLine();
ProcessCommands(command);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין