אופרטור תנאי
חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 28 מתוך 69.
האופרטור הטרנרי הוא משפט if-else פשוט בן שורה אחת. התחביר שלו הוא:
variable = (condition) ? value_if_true : value_if_false;האופרטור הטרנרי מעריך את התנאי. אם הוא true, הוא משייך למשתנה את value_if_true; אחרת, הוא משייך לו את value_if_false.
לדוגמה:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";בדוגמה הזאת, מכיוון ש־age גדול מ־18 או שווה לו, הערך "Adult" יוקצה ל־message. אם age היה קטן מ־18, הערך "Minor" היה מוקצה ל־message.
אפשר לקנן אופרטורים מותנים כדי לטפל במספר תנאים:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";הקוד הזה בודק כמה תנאים לפי הסדר. אם score >= 90, הציון הוא "A"; אחרת, אם score >= 80, הציון הוא "B"; אחרת, אם score >= 70, הציון הוא "C"; אחרת, "F".
הערה: אופרטורים טרנריים מקוננים עלולים להיות קשים לקריאה. בתנאים מורכבים, השתמשו במשפטי if-else במקום זאת.
אתגר
מתחיליםצרו תוכנית שבודקת אם מספר הוא חיובי, שלילי או אפס באמצעות האופרטור הטרנרי. התוכנית צריכה:
- לקבל מהמשתמש קלט של מספר שלם. השורה שקוראת את המספר לתוך
numberכבר נכתבה עבורכם. - להשתמש באופרטור הטרנרי כדי לקבוע אם המספר חיובי, שלילי או אפס. לשמור את מחרוזת
positive,negativeאוzeroבתוךresult. - להדפיס את התוצאה בפורמט:
"The number is [positive/negative/zero]".
אפשר להשתמש באופרטור טרנרי מקונן כדי לפתור את הבעיה.
נסו בעצמכם
using System;
public class Program {
public static void Main(string[] args) {
int number = int.Parse(Console.ReadLine());
string result = "";
// כתבו את הקוד שלכם למטה
Console.WriteLine("The number is " + result);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה אחרי הפעולהקיצורים אריתמטיים5אופרטורים חלק 2
אופרטורי השוואהאופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום — לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר C# אונליין