सी#में नल कोलेसिंग ऑपरेटर क्या है

Si Mem Nala Kolesinga Oparetara Kya Hai



सी# एक व्यापक रूप से उपयोग की जाने वाली प्रोग्रामिंग भाषा है जिसे विभिन्न प्लेटफार्मों के लिए कुशल और मजबूत अनुप्रयोग बनाने के लिए डिज़ाइन किया गया है। भाषा में कई उन्नत सुविधाएँ हैं, जिनमें शामिल हैं शून्य कोलेसिंग ऑपरेटर , जो शून्य मानों को संभालने के लिए कॉम्पैक्ट सिंटैक्स प्रदान करके जटिल कोड को सरल बनाने में मदद करता है। यह ऑपरेटर उन डेवलपर्स के बीच लोकप्रिय हो गया है जो संभालने के लिए एक सीधी विधि की तलाश कर रहे हैं व्यर्थ उनकी परियोजनाओं में मूल्य।

इस लेख में विस्तार से जाना जाएगा शून्य कोलेसिंग ऑपरेटर .







सी#में एक नल कोलेसिंग ऑपरेटर क्या है

सी # में, के लिए प्रतीक शून्य कोलेसिंग ऑपरेटर है ?? . यदि एक चर शून्य है, तो इसका उपयोग इसे डिफ़ॉल्ट मान देने के लिए किया जाता है।



उदाहरण के लिए, यदि हमारे पास एक चर है एक्स यह अशक्त हो सकता है और हम इसे 10 का एक डिफ़ॉल्ट मान निर्दिष्ट करना चाहते हैं यदि यह अशक्त है, तो हम इसका उपयोग कर सकते हैं शून्य कोलेसिंग ऑपरेटर निम्नलिखित नुसार:



इंट वाई = एक्स ?? 10





यह कथन का मान निर्दिष्ट करेगा 10 y के लिए यदि x शून्य है, अन्यथा, यह x का मान लेगा।

यदि यह शून्य नहीं है तो यह बाएं ऑपरेंड का मान वापस कर देगा। दाएं हाथ के ऑपरेंड की जांच की जाती है और परिणाम शून्य होने पर वापस कर दिया जाता है। वैकल्पिक रूप से, यदि बाएं हाथ का ऑपरेंड गैर-शून्य का मूल्यांकन करता है, तो वह अपने दाहिने हाथ के ऑपरेंड का मूल्यांकन नहीं करता है।



बिना कोड लिखने का पारंपरिक तरीका शून्य कोलेसिंग ऑपरेटर है:

अगर ( परिणाम शून्य है )

वापस करना नई सूची < व्यक्ति > ( ) ;

वापस करना परिणाम;

हम इसे एक पंक्ति में संघनित कर सकते हैं जिसमें गैर-शून्य डिफ़ॉल्ट मान और अशक्त जाँच दोनों शामिल हैं शून्य कोलेसिंग ऑपरेटर :

वापस करना परिणाम ?? नई सूची < व्यक्ति > ( ) ;

याद रखने योग्य कुछ महत्वपूर्ण बिंदु शून्य कोलेसिंग ऑपरेटर हैं:

  • एक चर को ?? के बाएं हाथ का संकार्य होना चाहिए। ऑपरेटर।
  • ??= ऑपरेटर के बाएं हाथ का ऑपरेंड एक गैर-अशक्त प्रकार नहीं हो सकता है।
  • नल-कोलेसिंग ऑपरेटर को ओवरलोड नहीं किया जा सकता है।
  • नल-कोलेसिंग ऑपरेटर सही-सहयोगी है। इसका अर्थ है कि एक अभिव्यक्ति जैसे कि a ??= b ??= c का मूल्यांकन a ??= (b ??= c) के रूप में किया जाएगा।

नल कोलेसिंग ऑपरेटर का उपयोग

के उपयोग शून्य कोलेसिंग ऑपरेटर हैं:

1: डिफ़ॉल्ट मान प्रदान करना

अशक्त प्रकारों के साथ काम करते समय, यदि मान शून्य है, तो आप इसका उपयोग कर सकते हैं शून्य कोलेसिंग ऑपरेटर अपवाद फेंकने के बजाय डिफ़ॉल्ट मान प्रदान करने के लिए।

सिस्टम का उपयोग करना;

सार्वजनिक वर्ग कार्यक्रम
{
सार्वजनिक स्थैतिक शून्य मुख्य ( )
{
int? अशक्त मूल्य = अशक्त;
int मान = nullableValue ?? 10 ;
कंसोल। राइटलाइन ( 'मूल्य है:' + मूल्य ) ;
}
}

उपरोक्त उदाहरण में, हम पूर्णांक को परिभाषित करते हैं nullableValue चर और इसे शून्य का मान दें। शून्य कोलेसिंग ऑपरेटर तब मूल्य चर को 10 का डिफ़ॉल्ट मान प्रदान करने के लिए उपयोग किया जाता है यदि nullableValue शून्य है। अगला, मान कंसोल पर प्रदर्शित होता है।

2: अशक्त संदर्भ अपवादों से बचना

वस्तुओं और सरणियों जैसे परिष्कृत डेटा संरचनाओं के साथ काम करते समय अशक्त मानों के परिणामस्वरूप अशक्त संदर्भ अपवाद हो सकते हैं। का उपयोग करके इन अपवादों से बचा जा सकता है शून्य कोलेसिंग ऑपरेटर , जो डिफ़ॉल्ट मान प्रदान करता है।

सिस्टम का उपयोग करना;

पब्लिक क्लास myClass
{
सार्वजनिक स्ट्रिंग नाम { पाना; तय करना ; }
सार्वजनिक इंट आईडी { पाना; तय करना ; }
}
सार्वजनिक वर्ग कार्यक्रम
{
सार्वजनिक स्थैतिक शून्य मुख्य ( )
{
myClass व्यक्ति = अशक्त;
स्ट्रिंग नाम = व्यक्ति? नाम ?? 'अज्ञात' ;
int यहाँ पहचान = व्यक्ति? आईडी ?? 0 ;
कंसोल। राइटलाइन ( 'नाम: ' + नाम ) ;
कंसोल। राइटलाइन ( 'पहचान: ' + पहचान ) ;
}
}

नाम और पहचान के गुण हैं मेरी कक्षा उपरोक्त कोड में वर्ग। सुरक्षित रूप से पहुँचने के लिए नाम और पहचान व्यक्ति वस्तु के गुण और यदि वे अशक्त हैं तो डिफ़ॉल्ट मान प्रदान करते हैं, यह एक व्यक्ति चर को शून्य पर सेट करता है और फिर अशक्त सशर्त ऑपरेटर (?) का उपयोग करता है और शून्य कोलेसिंग ऑपरेटर (??) फिर, कंसोल को नाम और आईडी मानों के साथ प्रिंट किया जाता है।

3: निरर्थक यदि-अन्य स्थितियों को हटाना

आप निरर्थक की आवश्यकता को हटाकर अपने कोड को अधिक संक्षिप्त और पठनीय बनाने के लिए नल कोलेसिंग ऑपरेटर का भी उपयोग कर सकते हैं अगर-अन्य शर्तें .

उदाहरण के लिए:

सिस्टम का उपयोग करना;

नामस्थान उदाहरण
{
क्लास माय क्लास
{
स्थैतिक शून्य मुख्य ( डोरी [ ] तर्क )
{
int? अशक्त मूल्य = अशक्त;
इंट वैल्यू;
अगर ( nullableValue ! = अशक्त )
{
मूल्य = अशक्त मूल्य। मूल्य;
}
अन्य
{
मूल्य = 10 ;
}
कंसोल। राइटलाइन ( 'मूल्य है:' + मूल्य ) ;
}
}
}

ऊपर दिए गए कोड में, नल कोलेसिंग ऑपरेटर ?? के मान को असाइन करने के लिए उपयोग किया जाता है nullableValue महत्व के लिए। अगर nullableValue शून्य नहीं है, तो मान के समान मान होगा nullableValue . अगर nullableValue शून्य है, तो मान का मान 10 होगा यदि नहीं तो स्थिति की अब आवश्यकता नहीं है, और कोड अब छोटा और समझने में आसान है।

निष्कर्ष

शून्य कोलेसिंग ऑपरेटर सी # में एक शक्तिशाली विशेषता है जो डेवलपर्स को अपनी परियोजनाओं में शून्य मूल्यों को संभालने के तरीके को सरल बनाती है। यह ऑपरेटर वेरिएबल्स के लिए डिफ़ॉल्ट मान निर्दिष्ट करने के लिए एक कॉम्पैक्ट, कुशल और लचीला सिंटैक्स प्रदान करता है जो शून्य हो सकता है। का उपयोग करके शून्य कोलेसिंग ऑपरेटर विकास प्रक्रिया में समय और प्रयास की बचत करते हुए, डेवलपर्स अधिक पठनीय, बनाए रखने योग्य और कुशल कोड लिख सकते हैं।