NET/משפטי בקרה: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
צחי (שיחה | תרומות)
משהו מוזר קרה כאן
צחי (שיחה | תרומות)
שורה 63:
 
===אופרטור תנאי===
לעתים נרצה לקבל ערך מסויים כאשר ערך ביטוי בוליאני מסויים הוא true, וערך אחר אם ערכו false. למשל, קטע הקוד הבא:
{{NET/CodeBlock|cs=
{{NET/Code|int|Keyword}} x;
{{NET/Code|if|Keyword}} (y > 5) {<br>
&nbsp;&nbsp;x = 3;<br>
}<br>
{{NET/Code|else|Keyword}} {<br>
&nbsp;&nbsp;x = 4;<br>
}
}}
במקרים כאלה, בהם אנו רוצים לבצע השמה למשתנה (<code>x</code> במקרה שלנו) בהתאם לתנאי מסויים, ניתן לכתוב את התנאי בצורה מקוצרת, כך:
{{NET/CodeBlock|cs=
x = y > 5 ? 3 : 4;
}}
כלומר, אם מתקיים התנאי <code>y > 5</code>, החזר את הערך 3 (במקום 3 יכול לבוא כל ביטוי המחזיר int במקרה זה), אחרת, החזר 4 (או כל ביטוי שערכו מסוג int).
 
יש לשים לב ששתי אפשרויות ההחזרה הן מאותו סוג, או שלפחות ניתן לבצע cast מהשניה לראשונה.
 
==switch==