אופרטור & ב C# במשפט if


  • תכנות

    האם יש הבדל בין & ל - && במשפט if?

    לדוגמה:

    if(true & false)
    שווה
    false
    
    if(true && false) 
    שווה
    false
    

  • ניהול

    התוצאה תהיה זהה, אבל יש הבדל בצורת הפעולה.
    האופרנד & הבודד אמור להיות בשימוש רק בפעולות על סיביות, אחרת הוא גרוע.
    האנד הכפול - && - מבצע גם-מקוצר (short-circuiting), אם החלק הראשון (השמאלי) יצא שלילי, הוא לא בודק בכלל את הערך של החלק השני (השמאלי), הנה המחשה פשוטה בדוגמת הקוד בדף התיעוד: && Operator.
    מאידך ה& שעשוי לתת תוצאה בוליאנית בודק את שני חלקי הביטוי בכל מקרה, זו פעולה מיותרת (וגם בלוגיקות מקובלות יכולה לגרום לשגיאה).
    מאותה סיבה חשוב בביטויים בוליאנים לשים ביטויים יקרים יותר במיקום אחרון בתנאי לחסוך את הפעלתם לחינם.


 

בא תתחבר לדף היומי!