מה חדש ב-C# 6: אופרטור לביצוע פעולה אם המשתנה לא ריק

 כחלק מ-C# 6 קיבלנו אופרטור חדש שמאפשר לנו לבדוק אם המשתנה ריק (Null) לפני ביצוע פעולה.

אופרטור זה מקל מאוד על הכתיבה והופך אותה לברורה ופשוטה יותר ועל ידי כך גם מהירה יותר.

כמו כן, אם קל לנו יותר לכתוב בדיקה עם המשתנה ריק כנראה שנעשה את זה יותר ובכך נחסוך שגיאות בקוד.

 

בוא נראה כדוגמא את הפונקציה הבאה שתפקידה הוא לקבל מחרוזת ולהסיר ממנה את האות a:

public string RemoveLetterFromString(string myStr)
{
    if (myStr != null)
    {
        myStr = myStr.Replace("a", "");
    }
    return myStr;
}

מכיוון שאם הערך של המשתנה myStr יהיה null, נקבל שגיאה כאשר אנחנו עושים את ההחלפה באמצעות הפונקציה Replace ולכן על מנת להימנע מכך הוספתי את הבדיקה לפני הפעלת הפונקציה על המשתנה.

 

 

כעת נראה דוגמא נוספת של הפונקציה RemoveLetterFromString עם האופרטור החדש:

public string RemoveLetterFromString(string myStr)
{
    myStr = myStr?.Replace("a", "");
    return myStr;
}

השינוי שעשיתי הוא שהורדתי את ה-if והחלפתי אותו בסימן שאלה (?) לפני הנקודה שאחריה באה הפונקציה Replace.

מה שעשיתי כאן זה שימוש באופרטור החדש שבעצם בודק אם המשתנה שונה מ-null לפני שהוא מבצע את הפעולה של החלפת הטקסט, כך שאם myStr יהיה null הפונקציה Replace לא תופעל כלל ו- myStr ישאר עם הערך null.

 

ניתן לראות שהורדנו 3 שורות קוד, אך יותר מכך, הקוד כעת יותר ברור וקל לקריאה במיוחד אם יש לנו בפונקציה משתנים רבים שאת כולם נצטרך לבדוק לפני שנעשה בהם שימוש.

 

הוסף תגובה