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

C# 7.0 में आउट पैरामीटर में सुधार क्या हैं?

C# 7.0 ने out पैरामीटर्स को अधिक सुविधाजनक बनाया: अब आउट वेरिएबल्स को मेथड कॉल के आर्गुमेंट लिस्ट में ही इंलाइन डिक्लेयर किया जा सकता है।

पुराना सिंटैक्स (C# 7.0 से पहले)

class Program {
    public static void AddMultiplyValues(int a, int b, out int c, out int d) {
        c = a + b;
        d = a * b;
    }
    
    public static void Main() {
        int c;  // अलग डिक्लेरेशन आवश्यक
        int d;
        AddMultiplyValues(5, 10, out c, out d);
        System.Console.WriteLine(c);  // 15
        System.Console.WriteLine(d);  // 50
        Console.ReadLine();
    }
}

नया सिंटैक्स (C# 7.0+)

class Program {
    public static void AddMultiplyValues(int a, int b, out int c, out int d) {
        c = a + b;
        d = a * b;
    }
    
    public static void Main() {
        // इंलाइन डिक्लेरेशन - मेथड कॉल में ही
        AddMultiplyValues(5, 10, out int c, out int d);
        System.Console.WriteLine(c);  // 15
        System.Console.WriteLine(d);  // 50
        Console.ReadLine();
    }
}

आउटपुट (दोनों के लिए समान)

15
50

लाभ

  • कोड पठनीयता: डिक्लेरेशन और उपयोग एक साथ
  • प्रारंभिक मान असाइन करने की आवश्यकता नहीं: कंपाइलर सुनिश्चित करता है कि मेथड असाइन करेगा
  • स्कोप नियंत्रण: वेरिएबल का स्कोप स्वाभाविक रूप से सीमित
  • var समर्थन: टाइप इन्फरेंस के साथ out var उपयोग कर सकते हैं

Var के साथ उपयोग

// टाइप इन्फरेंस
AddMultiplyValues(5, 10, out var c, out var d);

// मिश्रित: कुछ इंलाइन, कुछ पहले से डिक्लेयर्ड
int c;
AddMultiplyValues(5, 10, out c, out var d);

TryParse पैटर्न में सुधार

// पुराना तरीका
int number;
bool success = int.TryParse(input, out number);
if (success) { /* use number */ }

// नया तरीका - अधिक संक्षिप्त
if (int.TryParse(input, out int number)) {
    // number यहाँ स्कोप में है
    Console.WriteLine($"Parsed: {number}");
}

// number यहाँ स्कोप में नहीं (यदि if ब्लॉक के बाहर)

नियम और प्रतिबंध

  • इंलाइन डिक्लेयर्ड आउट वेरिएबल्स का स्कोप एनक्लोजिंग ब्लॉक होता है
  • out पैरामीटर को मेथड लौटने से पहले असाइन किया जाना चाहिए
  • ref के साथ काम नहीं करता (केवल out के लिए)
  • एक्सटेंशन मेथड्स पर लागू नहीं होता

C# 7.0 से पहले के साथ तुलना

// C# 6.0 - दो स्टेटमेंट्स
int x;
int.TryParse("123", out x);

// C# 7.0 - एक स्टेटमेंट
int.TryParse("123", out int x);
  1. C में टोकन क्या हैं? C में टोकन क्या हैं?

    एक टोकन एक प्रोग्राम का सबसे छोटा तत्व है जो कंपाइलर के लिए सार्थक है। कंपाइलर जो एक प्रोग्राम को सबसे छोटी इकाइयों में तोड़ता है, उन्हें टोकन कहा जाता है और ये टोकन संकलन के विभिन्न चरणों में आगे बढ़ते हैं।प्रकारटोकन विभिन्न प्रकारों में वर्गीकृत हैं, जिनका उल्लेख नीचे किया गया है:कीवर्ड्सआइडेंटिफा

  1. - C टोकन क्या हैं?

    C प्रोग्राम निर्देशों का एक संग्रह है और प्रत्येक निर्देश व्यक्तिगत इकाइयों का एक संग्रह है।C प्रोग्राम की हर छोटी व्यक्तिगत इकाई को आमतौर पर टोकन कहा जाता है और C प्रोग्राम में प्रत्येक निर्देश टोकन का एक संग्रह है।टोकन का उपयोग C प्रोग्राम बनाने के लिए किया जाता है और उन्हें C प्रोग्राम के बुनियाद

  1. C प्रोग्रामिंग में फंक्शन्स की श्रेणियां C प्रोग्रामिंग में फंक्शन्स की श्रेणियां

    फंक्शन्स के चार वर्ग आर्गुमेंट्स और रिटर्न वैल्यू के आधार पर: बिना आर्गुमेंट्स, बिना रिटर्न वैल्यू बिना आर्गुमेंट्स, रिटर्न वैल्यू के साथ आर्गुमेंट्स के साथ, बिना रिटर्न वैल्यू आर्गुमेंट्स के साथ, रिटर्न वैल्यू के साथ 1. बिना आर्गुमेंट्स, बिना रिटर्न फंक्शन न इनपुट लेता है न आउटपुट देता है। void