मूल्यांकन समय को ध्यान में रखते हुए, दो समकक्ष निम्नलिखित हैं?यदि/अन्य बनाम टर्नरी ऑपरेटर
if(condition1)
{
//code1
}
else
{
//code2
}
condition1 ? code1 : code2
या वे सिर्फ वाक्य रचना अलग हैं?
मूल्यांकन समय को ध्यान में रखते हुए, दो समकक्ष निम्नलिखित हैं?यदि/अन्य बनाम टर्नरी ऑपरेटर
if(condition1)
{
//code1
}
else
{
//code2
}
condition1 ? code1 : code2
या वे सिर्फ वाक्य रचना अलग हैं?
अंतर यह है कि बाद वाला स्टेशन पर उपयोग किया जा सकता है एक शर्त के आधार पर।
उदाहरण के लिए, यदि आप एक निम्न कथन है:
if (SomeCondition())
{
text = "Yes";
}
else
{
text = "No";
}
एक त्रिगुट ऑपरेटर का उपयोग करके आप लिखेंगे:
text = SomeCondition() ? "Yes" : "No";
नोट कैसे पहला उदाहरण एक बयान एक के आधार पर निष्पादित करता है शर्त, जबकि दूसरी स्थिति एक शर्त के आधार पर एक मूल्य देता है।
हाँ & हां।
केवल लाभ कोड की लाइनों को सहेजना है।
अच्छा ... पूर्व मामले में, आपके पास code1
और code2
के स्थान पर कोड की कोई राशि या प्रकार (अभिव्यक्ति बनाम कथन) हो सकता है। बाद के मामले में, वे वैध अभिव्यक्ति होना चाहिए।
हां, ये दो अलग-अलग वाक्य रचनात्मक रूप हैं और समान रूप से काम करेंगे और सबसे समान समान कोड संकलक द्वारा उत्सर्जित किया जाएगा।
केवल एक ही नहीं। दूसरे संस्करण का उपयोग शर्त के आधार पर दो अलग-अलग ऑब्जेक्ट के संदर्भ को बाध्य करने के लिए किया जा सकता है, इसके लिए पहले का उपयोग नहीं किया जा सकता है। – sharptooth
ठीक है, इसके बारे में भूल गए। – Faruz