यदि आप एक & (और) का उपयोग करते हैं तो अभिव्यक्ति के दूसरे भाग का मूल्यांकन किया जाता है। यह बुरा हो सकता है यदि दूसरा भाग पहले भाग पर निर्भर करता है। आम तौर पर हमेशा & & का उपयोग करें क्योंकि दूसरे भाग का मूल्यांकन नहीं किया जाता है यदि पहला भाग गलत है।
तार्किक रूप से एकल & थोड़ा सा ऑपरेशन करता है जैसा कि अन्य ने कहा है, जो अभी भी बूलियन तुलना/मूल्यांकन के लिए मान्य है। वास्तव में केवल एक ही समय & (या |) का उपयोग किया जाना चाहिए (या बूलियन मूल्यांकन) यदि दूसरा मूल्यांकन हमेशा चलाना चाहिए (यदि यह फ़ंक्शन कॉल/संशोधक है)। यह बुरा अभ्यास है और संभवतः पुस्तक का उल्लेख क्यों नहीं करता है।
सिंगल & फ्लैग एनम्स और बिट मास्क के साथ उपयोगी हैं।
निम्नलिखित obj की एक अपवाद फेंक होगा रिक्त है:
bool b = obj != null & obj.IsActive
लेकिन यह काम करेगा:
bool b = obj != null && obj.IsActive
यह बुरा है:
bool b = obj.IsActive && obj.SetActive(false);
bool b = obj.IsActive & obj.SetActive(false);
& ऑपरेटर यहाँ है रहने के लिए।
स्रोत
2008-11-13 04:35:02
सी में # के रूप में इरादा एक भी और कार्य करता है। –
मैंने कोशिश की और संकलक ने शिकायत की: ऑपरेटर 'और' प्रकार 'int' और 'bool' के संचालन पर लागू नहीं किया जा सकता है – jpoh
Thats क्योंकि int 8-बिट मान नहीं है। इसे काम करने के लिए आपको बाइट को एक int में डालना होगा। – FlySwat