Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

अशक्त मूल्यों से निपटने के लिए कौन से ऑपरेटर C# प्रदान करते हैं?

C# में शून्य मानों से निपटने के लिए निम्नलिखित तीन ऑपरेटर हैं -

नल-कोलेसिंग ऑपरेटर (??)

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

यह निम्नलिखित व्यंजक को C# में बदल देता है -

string resultOne = value != null ? value : "default_value";

निम्नलिखित अभिव्यक्ति के साथ -

string resultTwo = value ?? "default_value";

यहां एक उदाहरण दिया गया है जो इसे दिखाता है।

उदाहरण

using System;
class Program{
   static void Main(){
      string input = null;
      string choice = input ?? "default_choice";
      Console.WriteLine(choice); // default_choice
      string finalChoice = choice ?? "not_chosen";
      Console.WriteLine(finalChoice); // default_choice
   }
}

नल-कोलेसिंग असाइनमेंट ऑपरेटर (??=)

यदि यह शून्य नहीं है, तो यह बाईं ओर का मान लौटाता है। अन्यथा, यह दाईं ओर मान लौटाता है। दूसरे शब्दों में, यदि इसका वर्तमान मान शून्य है, तो यह आपको किसी वैरिएबल को कुछ डिफ़ॉल्ट मान पर प्रारंभ करने की अनुमति देता है।

यह निम्नलिखित व्यंजक को C# में बदल देता है -

if (result == null)
result = "default_value";

निम्नलिखित अभिव्यक्ति के साथ।

result ??= "default_value";

यह ऑपरेटर आलसी परिकलित गुणों के साथ उपयोगी है। उदाहरण के लिए -

उदाहरण

class Tax{
   private Report _lengthyReport;
   public Report LengthyReport => _lengthyReport ??= CalculateLengthyReport();
   private Report CalculateLengthyReport(){
      return new Report();
   }
}

अशक्त-सशर्त ऑपरेटर (?.)

यह ऑपरेटर आपको एक उदाहरण पर सुरक्षित रूप से एक विधि को कॉल करने की अनुमति देता है। यदि उदाहरण शून्य है, तो यह NullReferenceException को फेंकने के बजाय शून्य लौटाता है। अन्यथा, यह केवल विधि को कॉल करता है।

यह निम्नलिखित व्यंजक को C# में बदल देता है -

string result = instance == null ? null : instance.Method();

निम्नलिखित अभिव्यक्ति के साथ -

string result = instance?.Method();

निम्नलिखित उदाहरण पर विचार करें।

उदाहरण

using System;
string input = null;
string result = input?.ToString();
Console.WriteLine(result); // prints nothing (null)

उदाहरण

using System;
class Program{
   static void Main(){
      string input = null;
      string choice = input ?? "default_choice";
      Console.WriteLine(choice); // default_choice
      string finalChoice = choice ?? "not_chosen";
      Console.WriteLine(finalChoice); // default_choice
      string foo = null;
      string answer = foo?.ToString();
      Console.WriteLine(answer); // prints nothing (null)
   }
}

आउटपुट

default_choice
default_choice

  1. जावास्क्रिप्ट के साथ तालिका में नल मान डालने से कैसे बचें?

    तालिका में डाले गए शून्य मानों से छुटकारा पाने के लिए, आपको मान दर्ज करते समय स्थिति की जांच करनी होगी। NULL की जाँच करने की शर्त इस प्रकार होनी चाहिए - while( !( yourVariableName1==null || yourVariableName2==null || yourVariableName3==null…...N){    // yourStatement1    

  1. PHP और MySQL में 'बूलियन' मानों से कैसे निपटें?

    हम MySQL संस्करण 8.0.12 का उपयोग कर रहे हैं। आइए पहले MySQL संस्करण की जाँच करें: संस्करण का चयन करें ();+---------------+| वर्जन () |+-----------+| 8.0.12 |+-----------+1 पंक्ति सेट में (0.00 सेकंड) MySQL में बूलियन से निपटने के लिए, आप BOOL या BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। यदि आप B

  1. हिटमैन घोटाला:यह क्या है और इससे कैसे निपटें

    हिटमैन घोटाला शायद सबसे पुराने तरीकों में से एक है जिससे लोग इंटरनेट पर पैसे उगाही करते हैं। हालांकि, एक विशेष बात है जो इसे अपने सभी भाइयों से अलग करती है:यह जिस गंभीरता को प्रस्तुत करता है वह पीड़ित के जीवन पर एक कथित प्रयास शामिल है। हालांकि यह गंभीर नहीं लग सकता है (आखिरकार यह जंक ईमेल के रूप मे