הערכה בקיצור דרך
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 36 מתוך 66.
הערכה בקצר חשמלי היא טכניקת אופטימיזציה ב-C# שבה האופרנד השני של אופרטורי AND לוגי (&&) ו-OR (||) מוערך רק כשצריך.
עבור AND לוגי (&&), אם האופרנד הראשון הוא false, התוצאה תמיד תהיה false ללא קשר לאופרנד השני:
bool result = false && SomeMethod();בדוגמה זו, SomeMethod() לא תיקרא כי האופרנד הראשון כבר false.
עבור OR לוגי (||), אם האופרנד הראשון הוא true, התוצאה תהיה תמיד true, ללא קשר לאופרנד השני:
bool result = true || SomeMethod();כאן, לא תתבצע קריאה ל־SomeMethod() כי האופרנד הראשון כבר true.
אפשר להשתמש בהתנהגות הזו כדי למנוע שגיאות, למשל לבדוק אם אובייקט הוא null לפני שניגשים למאפיינים שלו:
// בטוח - אם student הוא null, הצד הימני לא יחושב
if (student != null && student.Grade > 70)
{
Console.WriteLine("Student passed!");
}אתגר
קלצור מתודה בשם ProcessUserInput שמקבלת שני ארגומנטים:
- מחרוזת (
input) - מספר שלם (
minLength)
המתודה צריכה:
- לבדוק אם הקלט אינו null
- לבדוק אם אורך הקלט הוא לפחות
minLength - רק אם שני התנאים מתקיימים, להדפיס "Valid input: " ואחריו הקלט
- אם אחד מהתנאים נכשל, להדפיס "Invalid input"
השתמש בהערכה מקוצרת כדי למנוע כל אפשרות ל-NullReferenceException.
נסו בעצמכם
using System;
class ProcessUserInput
{
public static void processUserInput(string input, int minLength)
{
// כתבו את הקוד שלכם כאן
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין