משפט Switch
חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 27 מתוך 69.
משפט switch דומה למשפט if מרובה־אפשרויות. במקום להעריך תנאי יחיד, הוא בודק את הערך של משתנה מול כמה מקרים ומבצע את הקוד המשויך למקרה המתאים.
הנה המבנה הבסיסי של משפט switch:
switch (variable) {
case value1:
// קוד לביצוע אם variable שווה ל-value1
break;
case value2:
// קוד לביצוע אם variable שווה ל-value2
break;
// ... מקרים נוספים
default:
// קוד לביצוע אם אף מקרה אינו תואם
break;
}- אחרי מילת המפתח
switchמציבים בסוגריים את המשתנה שרוצים לבדוק. - כל
caseמייצג ערך אפשרי של המשתנה. - הקוד בתוך כל
caseמתבצע אם המשתנה תואם לערך של אותו מקרה.
- הפקודה
breakחיונית; היא יוצאת מ-switchלאחר שהמקרה מתבצע. בלעדיה, הביצוע היה "נופל" אל המקרה הבא.
- המקרה
defaultהוא אופציונלי ומבוצע אם אף מקרה אחר אינו תואם.
הנה דוגמה:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... מקרים עבור ימים אחרים
default:
dayName = "Invalid day";
break;
}אפשר גם לשלב כמה מקרים לאחד:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... מקרים עבור ימים אחרים
default:
dayName = "Invalid day";
break;
}אתגר
מתחיליםצרו תוכנית שמקבלת מספר של חודש (1 עבור ינואר, 2 עבור פברואר וכן הלאה) ומדפיסה את העונה שאליה הוא שייך. השתמשו במשפט switch לצורך הלוגיקה.
העונות והחודשים המתאימים להן הם:
Winter: דצמבר (12), ינואר (1), פברואר (2)Spring: מרץ (3), אפריל (4), מאי (5)Summer: יוני (6), יולי (7), אוגוסט (8)Autumn: ספטמבר (9), אוקטובר (10), נובמבר (11)
הדפיסו את שם העונה בדיוק כפי שהוא כתוב למעלה, באנגלית.
נסו בעצמכם
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// כתבו את הקוד שלכם למטה
Console.WriteLine(season);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה אחרי הפעולהקיצורים אריתמטיים5אופרטורים חלק 2
אופרטורי השוואהאופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום — לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר C# אונליין