C#में क्यों नहीं हैं== & &== ऑपरेटर्स?



operators language-design (1)

तार्किक ऑपरेटरों को छोड़ क्यों दिया गया? क्या एक अच्छा तकनीकी कारण है कि यह कठिन क्यों है?

उन्होंने नहीं किया । आप चाहें तो &= या |= या ^= कर सकते हैं।

bool b1 = false;
bool b2 = true;
b1 |= b2; // means b1 = b1 | b2

|| और && ऑपरेटर्स का कंपाउंड फॉर्म नहीं है क्योंकि स्पष्ट रूप से, वे थोड़ा मूर्ख हैं। आप किन परिस्थितियों में कहना चाहेंगे

b1 ||= b2;
b1 &&= b2;

यदि दाहिने हाथ की ओर का मूल्यांकन नहीं किया जाता है, तो बाएं हाथ की तरफ का परिवर्तन नहीं होता है? ऐसा लगता है कि केवल कुछ लोग वास्तव में इस सुविधा का उपयोग करेंगे, इसलिए इसे क्यों रखा जाए?

यौगिक संचालकों के बारे में अधिक जानकारी के लिए मेरा गंभीर लेख यहाँ देखें:

http://blogs.msdn.com/b/ericlippert/archive/2011/03/29/compound-assignment-part-one.aspx

और अनुवर्ती अप्रैल-मूर्ख लेख यहाँ:

blogs.msdn.com/b/ericlippert/archive/2011/04/01/…

हमारे पास सभी लॉजिकल ऑपरेटर्स, शिफ्ट ऑपरेटर्स, एडिटिव ऑपरेटर्स और सभी मल्टिपल ऑपरेटिव ऑपरेटर्स के बराबर असाइनमेंट ऑपरेटर हैं।

तार्किक ऑपरेटरों को छोड़ क्यों दिया गया? क्या एक अच्छा तकनीकी कारण है कि यह कठिन क्यों है?





compound-assignment