हाल ही में एक पिछले प्रोजेक्ट में मैं वीबीएनईटी और सी # के बीच एक असाधारण अंतर आया।कुछ भी नहीं! = शून्य - या यह करता है?
null <= 2
यह अभिव्यक्ति झूठी जो है मैं क्या उम्मीद करेंगे करने के लिए मूल्यांकन करता है:
निम्नलिखित सी # अभिव्यक्ति जो विचार करें। फिर इसी VB.NET अभिव्यक्ति:
Nothing <= 2
मैं जानने के लिए कि यह अभिव्यक्ति वास्तव में सही का आकलन हैरान था
यह दो भाषाओं के बीच एक काफी मौलिक डिजाइन निर्णय की तरह लगता है और यह निश्चित रूप से पकड़ा मै बाहर।
क्या कोई मुझे बता सकता है क्यों? शून्य हैं और कुछ भी नहीं और एक ही है? यदि हां, तो वे अलग तरीके से क्यों व्यवहार करते हैं?
'शून्य <= 2' सी # में एक संकलन-समय चेतावनी उत्पन्न करता है और इस ऑपरेशन से संबंधित कोई भी आईएल आउटपुट असेंबली को कभी भी उत्सर्जित नहीं किया जाता है। –
LINQPAD में एक अभिव्यक्ति का प्रयास करें - कल्पना करें वास्तव में एक int है? कौन सा मूल्य शून्य होना होता है। –
संबंधित प्रश्न (हालांकि बिल्कुल वही नहीं): http://stackoverflow.com/questions/2776902/why-can-you-assign-nothing-to-an-integer-in-vb-net –