यह नल-कोलेसिंग . है ऑपरेटर। नल-कोलेसिंग ऑपरेटर ?? यदि यह शून्य नहीं है, तो इसके बाएँ हाथ के संकार्य का मान लौटाता है; अन्यथा, यह दाहिने हाथ के ऑपरेंड का मूल्यांकन करता है और अपना परिणाम देता है। द ?? यदि बाएं हाथ के ऑपरेंड का मूल्यांकन गैर-शून्य पर किया जाता है, तो ऑपरेटर इसके दाहिने हाथ के ऑपरेंड का मूल्यांकन नहीं करता है।
एक अशक्त प्रकार एक मान का प्रतिनिधित्व कर सकता है जिसे अपरिभाषित या प्रकार के डोमेन से किया जा सकता है। हम उपयोग कर सकते हैं ?? ऑपरेटर एक उचित मान वापस करने के लिए जब बाएं ऑपरेंड में एक शून्य प्रकार होता है। यदि हम ?? ऑपरेटर, हमें एक कंपाइल-टाइम एरर मिलेगा और अगर हम इसे जबरदस्ती कास्ट करते हैं, तो एक InvalidOperationException अपवाद को फेंक दिया जाएगा।
नल-कोलेसिंग ऑपरेटर (??) ऑपरेटर के निम्नलिखित फायदे हैं -
-
इसका उपयोग एक अशक्त वस्तु के लिए एक डिफ़ॉल्ट मान को परिभाषित करने के लिए किया जाता है (मूल्य प्रकार और संदर्भ प्रकार दोनों के लिए)।
-
यह रनटाइम InvalidOperationException अपवाद को रोकता है।
-
यह हमें कई अनावश्यक "अगर" स्थितियों को हटाने में मदद करता है।
-
यह संदर्भ प्रकार और मूल्य प्रकार दोनों के लिए काम करता है।
-
कोड सुव्यवस्थित और पठनीय हो जाता है।
उदाहरण
using System; namespace MyApplication{ class Program{ static void Main(string[] args){ int? value1 = null; int value2 = value1 ?? 99; Console.WriteLine("Value2: " + value2); string testString = "Null Coalescing"; string resultString = testString ?? "Original string is null"; Console.WriteLine("The value of result message is: " + resultString); } } }
आउटपुट
उपरोक्त उदाहरण का आउटपुट इस प्रकार है।
Value2: 99 The value of result message is: Null Coalescing