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

C# में Ternary Operator (टर्नरी ऑपरेटर / कंडीशनल ऑपरेटर)

C# में टर्नरी ऑपरेटर ?:

टर्नरी ऑपरेटर एकमात्र ऑपरेटर है जो **तीन ऑपरेंड्स** लेता है। यह एक संक्षिप्त if-else एक्सप्रेशन है जो एक वैल्यू लौटाता है।

सिंटैक्स

condition ? expression_if_true : expression_if_false

कैसे काम करता है

  1. condition का मूल्यांकन होता है (बूलियन)।
  2. true होने पर expression_if_true मूल्यांकित होता है और उसका मान परिणाम होता है।
  3. false होने पर expression_if_false मूल्यांकित होता है और उसका मान परिणाम होता है।
  4. केवल **आवश्यक एक्सप्रेशन** ही मूल्यांकित होता है (शॉर्ट-सर्किट)।

उदाहरण

using System;

class Program {
    static void Main() {
        int a = 10;
        
        // बेसिक उपयोग
        int b = (a == 1) ? 20 : 30;
        Console.WriteLine($"b = {b}"); // 30 (क्योंकि a != 1)
        
        b = (a == 10) ? 20 : 30;
        Console.WriteLine($"b = {b}"); // 20 (क्योंकि a == 10)
        
        // नेस्टेड टर्नरी (सावधानी से उपयोग करें)
        int score = 85;
        string grade = score >= 90 ? "A" : 
                       score >= 80 ? "B" : 
                       score >= 70 ? "C" : "F";
        Console.WriteLine($"Grade: {grade}"); // B
        
        // नल कोलिसिंग के साथ कॉम्बिनेशन
        string name = null;
        string displayName = name ?? "Guest"; // नल कोलिसिंग (??) अलग ऑपरेटर है
        Console.WriteLine(displayName); // Guest
    }
}

आउटपुट

b = 30
b = 20
Grade: B
Guest

टर्नरी vs if-else

पहलूTernary ?:if-else स्टेटमेंट
रिटर्न वैल्यूहां (एक्सप्रेशन)नहीं (स्टेटमेंट)
उपयोगवेरिएबल असाइनमेंट, रिटर्न, आर्गुमेंटकंट्रोल फ्लो, मल्टीपल स्टेटमेंट्स
पठनीयतासरल कंडीशन्स के लिए अच्छीजटिल लॉजिक के लिए बेहतर
नेस्टिंगमुश्किल से पढ़ा जाता हैस्पष्ट

बेस्ट प्रैक्टिसेज

  • सरल, सिंगल-लाइन कंडीशन्स के लिए उपयोग करें।
  • नेस्टेड टर्नरी से बचें; if-else if-else या switch उपयोग करें।
  • दोनों ब्रांचेज का टाइप संगत होना चाहिए (कॉमन बेस टाइप या इम्प्लिसिट कन्वर्जन)।
  • साइड इफेक्ट्स (मेथड कॉल्स) से सावधान रहें; केवल एक ब्रांच चलता है।

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

string result = possiblyNull ?? "default"; // अगर null तो "default"
// बराबर: possiblyNull != null ? possiblyNull : "default"
  1. - C# में कंडीशनल अट्रिब्यूट्स क्या हैं

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

  1. - C# में ऑपरेटर प्रीसिडेंस क्या है?

    एक ऑपरेटर एक प्रतीक होता है जो कंपाइलर को विशिष्ट गणितीय या तार्किक मैनिपुलेशन करने का निर्देश देता है।ऑपरेटर प्रीसिडेंस एक एक्सप्रेशन में टर्म्स के ग्रुपिंग को निर्धारित करता है। यह एक्सप्रेशन के मूल्यांकन को प्रभावित करता है। कुछ ऑपरेटर्स की प्रीसिडेंस दूसरों से अधिक होती है; उदाहरण के लिए, मल्टीप

  1. - पायथन में टर्नरी ऑपरेटर

    पायथन का टर्नरी ऑपरेटर (सशर्त अभिव्यक्ति) एक लाइन में शर्त के आधार पर मान चुनने की अनुमति देता है। सिंटैक्स [on_true] if [condition] else [on_false] बुनियादी उदाहरण y else y) # y फ़ंक्शन में उपयोग b else b print(find_max(5, 6)) # 6 वैकल्पिक कार्यान्वयन टपल इंडेक्सिंग b]) # b:6 डिक्शनरी