מאמר זה ידון במה הם אופרטורים אלו וכיצד ניתן להשתמש בהם בתכנות C#.
מה זה ?? מפעיל ב-C#?
ה ?? אופרטור, הידוע גם כ-null-coalescing אופרטור, משמש כדי לספק ערך ברירת מחדל לסוג ערך nullable או לסוג הפניה שיכול להיות null. האופרטור מחזיר את האופרנד השמאלי אם הוא אינו ריק; אחרת, הוא מחזיר את האופרנד הימני, בנוסף יש דוגמה לשימוש באופרטור זה ב-C#:
באמצעות System ;
תוכנית הכיתה
{
סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args )
{
int ? איקס = ריק ;
int ו = איקס ?? 3 ;
לְנַחֵם. WriteLine ( ו ) ;
}
}
בדוגמה זו, הגדרנו משתנה שלם בר-ריק x והקצינו לו ערך null ולאחר מכן השתמשנו ב- ?? אופרטור לספק ערך ברירת מחדל של 3 למשתנה y אם a הוא null. מכיוון ש-a הוא ריק, הערך של y מוגדר ל-3.
מה זה ??= מפעיל ב-C#
ה ??= אופרטור הוא אופרטור קיצור המשלב את אופרטור ה-null-coalescing ?? ואופרטור ההקצאה =. הוא משמש להקצאת ערך למשתנה רק אם המשתנה הוא null ואם למשתנה כבר יש ערך, אז פעולת ההקצאה לא מבוצעת, הנה דוגמה לשימוש באופרטור ??= ב-C#:
באמצעות System ;
תוכנית הכיתה
{
סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args )
{
int ? איקס = ריק ;
איקס ??= 3 ;
לְנַחֵם. WriteLine ( איקס ) ;
איקס ??= 4 ;
לְנַחֵם. WriteLine ( איקס ) ;
}
}
בדוגמה זו, הגדרנו משתנה שלם בר null x והקצינו לו ערך null ולאחר מכן השתמשנו באופרטור ??= כדי להקצות ערך של 3 למשתנה a מכיוון שהוא null. המשפט WriteLine() הראשון מוציא את הערך של x, שהוא 3, ואז משתמש שוב באופרטור ??= כדי להקצות ערך של 4 למשתנה x. עם זאת, מכיוון של-x כבר יש ערך של 3, פעולת ההקצאה לא מבוצעת כך שהמשפט השני WriteLine() מוציא את הערך של x, שהוא עדיין 3:
סיכום
ה ?? ואופרטורים ??= ב-C# הם אופרטורים שימושיים המפשטים קוד ומפחיתים שגיאות פוטנציאליות על ידי מתן ערכי ברירת מחדל למשתנים. ה ?? האופרטור משמש כדי לספק ערך ברירת מחדל לסוג ערך null או לסוג הפניה שיכול להיות null. האופרטור ??= הוא אופרטור קיצור המשלב את האופרטור ה-null-coalescing ?? ואופרטור ההקצאה =, ומשמש להקצאת ערך למשתנה רק אם המשתנה הוא null.