सी # में शून्य coalescing ऑपरेटर (??) के बारे में निम्नलिखित समझ के साथ।नल-कोलेसेसिंग ऑपरेटर का प्रभावशाली कास्टिंग परिणाम
int? input = -10;
int result = input ?? 10;//Case - I
//is same as:
int result = input == null? input : 10; // Case - II
है, परिभाषा और उपयोग द्वारा, केस मैं और केस II एक ही हैं।
यह देखकर आश्चर्य की बात है कि केस-आई कंपाइलर में अंतर्निहित रूप से int डालने में सक्षम है? केस-द्वितीय में int int करने के लिए यह त्रुटि दिखाता है: 'त्रुटि 1 अंतर्निहित रूप से प्रकार' int 'को परिवर्तित नहीं कर सकता? 'Int' "
को यह क्या है कि मैं अशक्त-कोलेसिंग ऑपरेटर के बारे में याद आ रही है?
आपकी रुचि के लिए धन्यवाद।
पहला परीक्षण का उपयोग करना चाहिए '=' बल्कि '==' से – hvd
@hvd: बिल्कुल सही, मैं एक बुरा उदाहरण होने के लिए ओ पी दोषी ठहराते हैं। : -पी संपादित। –
दरअसल, मुझे लगता है कि आपका जवाब थोड़ा दूर है ... 'ए? बी: सी', जहां 'बी'' int 'है और 'c'' int' है, पूरी तरह मान्य है। हालांकि, परिणाम 'int?' टाइप किया गया है, इसलिए आपको '(ए? बी: सी)। वैल्यू 'की आवश्यकता होगी। या आपके सुझाए गए सुधार, जो स्पॉट पर है। – hvd