בית התפתחות מהו מפעיל מותנה ב- c? - הגדרה מטכנולוגיה

מהו מפעיל מותנה ב- c? - הגדרה מטכנולוגיה

תוכן עניינים:

Anonim

הגדרה - מה המשמעות של מפעיל מותנה?

מפעיל מותנה ב- C #, הוא מפעיל שלוקח שלוש אופרנדים (תנאים שיש לבדוק), הערך כאשר התנאי הוא אמת וערך כאשר התנאי שגוי.


מפעיל מותנה מיוצג על ידי הסמל '?:'. האופרה הראשונה (שצוינה לפני '?:') היא הביטוי המעריך (המותנה). זה צריך להיות כזה שאפשר להמיר באופן implicit את סוג הביטוי המוערך ל'בול 'או שמיישם את המפעיל נכון כדי להימנע משגיאות קומפילציה. הניתוחים השנייה והשלישית שולטים בסוג הביטוי המותנה. משתמשים בו לעתים קרובות יותר בהקצאה ולא כהצהרה שמייצרת שגיאות קומפילציה.


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


עבור ביטוי המוצהר כ x? A: b, אופרנד a יוערך אם רק האופרנד x (הביטוי המותנה) יחזיר את האמת. אחרת, אופרנד b יוערך.


מונח זה מכונה גם מפעיל טרנסארי או inline if (iif).

Techopedia מסביר מפעיל מותנה

מפעיל מותנה הוא המפעיל הטרינארי היחיד (לוקח שלוש אופרנדות) ב- C #. זה מהווה אלטרנטיבה למבנה אם אחר, המספק תמציתיות טובה יותר עם פחות קוד וקלות קריאה טובה יותר. במהלך הקומפילציה, מהדר C # מתרגם את הביטוי הטרינרי להצהרות ענפים, שיכולים לעבות מספר אם משפטים ולהפחית קינון ברמה של קוד המקור. לפעמים, הקוד שנוצר עבור מפעיל טרנסארי יכול להגביר את הביצועים על ידי סדר מחדש של חלק מההוראות.


המאפיינים של מפעיל מותנה הם:

  • זה משויך לימין, רומז לכך שהפעולות מקובצות מימין לשמאל.
  • זה תמיד מעריך את אחד משני הביטויים שצוינו אחרי סמל המפעיל המותנה. זה אף פעם לא מעריך את שניהם.
  • האופראנד הראשון חייב להיות מסוג אינטגרלי או מצביע.
  • על האופרטורים השנייה והשלישית להיות ניתנים להמרה זה לזה ולא להמרה הדדית לסוג אחר.
  • סוג התוצאה הוא הסוג הנפוץ, שהוא ערך l, אך רק אם שתי האופציות השנייה והשלישית הן מאותן סוג ושניהם ערכי l.
  • ניתן להשתמש רק בשיחת הקצאה, תוספת, ירידה וביטוי אובייקט חדש כאמירה.
  • כאשר משתמשים בתוצאה של הערכת ביטוי באמצעות מפעיל טרנסארי בהצהרת החזרת שיטה, הסוג שלו צריך להיות תואם לסוג ההחזרה של שיטת ההתחלה לצורך אוסף מוצלח.
  • כאשר התוצאה אינה קבועה, סוג הביטוי המותנה מבוסס על הסוג הנפוץ יותר מבין שני הסוגים.
הגדרה זו נכתבה בהקשר של C #
מהו מפעיל מותנה ב- c? - הגדרה מטכנולוגיה