תרגיל - יישום האופרטור המותנה
- 7 דקות
נניח שעליך לקבוע במהירות אם רכישה של לקוח זכאית להנחה לקידום מכירות. הפרטים עבור הקידום מציינים כי כאשר ערך הרכישה גדול מ- 1000 אירו, הרכישה זכאית להנחה של 100 אירו. אם סכום הרכישה הוא 1000 יורו או פחות, הרכישה זכאית להנחה של 50 אירו.
למרות שניתן בהחלט להשתמש if ... elseif ... else במבנה יצירת ההסתעפות כדי להביע כלל עסקי זה, השימוש באופרטור המותנה כדי להעריך זכאות להנחה לקידום מכירות עשוי להיות בחירה טובה יותר. האופרטור המותנה משתמש בתבנית דחוסה שגורמת לשמירה של מספר שורות קוד וגורמת לכוונת הקוד להיות ברורה יותר.
מהו האופרטור המותנה?
האופרטור המותנה?: מעריך ביטוי בוליאני ומחזיר אחת משתי תוצאות בהתאם לשאלה אם הביטוי הבוליאני מוערך כ- True או כ- False.
האופרטור המותנה נקרא בדרך כלל האופרטור המותנה הארגוני.
הנה הטופס הבסיסי:
<evaluate this condition> ? <if condition is true, return this value> : <if condition is false, return this value>
קח דקה כדי לשקול כיצד להחיל את האופרטור המותנה על תרחיש ההנחה של קידום המכירות. המטרה שלך היא להציג הודעה ללקוח המציגה את אחוז ההנחה שלו. הסכום של ההנחה שלו יתבסס אם הוא הקדיש יותר מ- 1000 יורו על הרכישה שלו.
הוספת קוד המשתמש באופרטור מותנה
ודא שיש לך קובץ ריק Program.cs ב- Visual Studio Code. במידת הצורך, פתח את Visual Studio Code ולאחר מכן בצע את השלבים הבאים כדי Program.cs קובץ בעורך:
- בתפריט קובץ, בחר פתח תיקיה.
- השתמש בתיבת הדו-שיח פתיחת תיקיה כדי לנווט אל התיקיה CsharpProjects ולאחר מכן לפתוח אותה.
- בלוח Visual Studio Code EXPLORER, בחר Program.cs.
- בתפריט בחירת קוד של Visual Studio, בחר בחר הכל ולאחר מכן הקש על מקש Delete.
הקלד את הקוד הבא בעורך הקוד של Visual Studio.
int saleAmount = 1001; int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {discount}");בתפריט קוד Visual Studio קובץ, בחר שמור.
יש Program.cs הקובץ לפני בנייה או הפעלה של הקוד.
בלוח EXPLORER, כדי לפתוח מסוף במיקום התיקיה TestProject, לחץ באמצעות לחצן העכבר הימני על TestProjectולאחר מכן בחר פתח במסוף משולב.
לוח מסוף המציג שורת פקודה אמור להיות פתוח כעת. שורת הפקודה אמורה להציג את נתיב התיקיה עבור מיקום התיקיה TestProject שלך.
בשורת הפקודה Terminal, כדי להפעיל את הקוד, הקלד dotnet מכן הקש Enter.
בעת הפעלת הקוד, אתה אמור לראות את הפלט הבא:
Discount: 100
שימוש באופרטור המותנה בתוך השורה
באפשרותך לדחוס קוד זה אף יותר על-ידי ביטול המשתנה הזמני discount.
עדכן את הקוד שלך בעורך קוד Visual Studio באופן הבא:
int saleAmount = 1001; // int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {(saleAmount > 1000 ? 100 : 50)}");בתפריט קוד Visual Studio קובץ, בחר שמור.
בשורת הפקודה Terminal, כדי להפעיל את הקוד, הקלד dotnet מכן הקש Enter.
שים לב שהפלט זהה.
קח דקה כדי לבחון את ההצהרה המעודכנת
Console.WriteLine().שים לב כי יש צורך לעטוף את משפט האופרטור המותנה כולו בסוגריים. הסוגריים מבטיחים כי זמן הריצה מבין את הכוונה שלך, שהיא להציג את התוצאה המותנה במקום את התוצאה של הערכת התנאי (saleAmount > 1000).
הערה
בעוד שדוגמה מסוימת זו קומפקטית ומציגה מה אפשרי, קצת יותר קשה לקרוא אותה. לא תמיד מומלץ לשלב שורות קוד, במיוחד כאשר הוא משפיע לרעה על מידת הקריאות הכוללת של הקוד שלך. זו לרוב החלטה סיביקטיבית.
סיכום
עליך לזכור את העובדות הבאות אודות האופרטור המותנה:
- באפשרותך להשתמש באופרטור המותנה כדי להקטין את הקוד, אך עליך לוודא שהקוד המתוצא ניתן לקריאה בקלות.
- באפשרותך להשתמש באופרטור המותנה כאשר עליך להחזיר ערך המבוסס על תנאי בינארי. הקוד יחזיר את האפשרות הראשונה כאשר התנאי מוערך כ- True, והוא יחזיר את האפשרות השניה כאשר התנאי מוערך כ- False.
בדוק את הידע שלך
משוב
האם עמוד זה היה מועיל?
לא
זקוק לעזרה בנושא זה?
רוצה לנסות להשתמש ב'שאל את Learn' כדי להבהיר או להדריך אותך בנושא זה?