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

C# में [] ऑपरेटर को कैसे ओवरलोड करें?


[] ऑपरेटर को इंडेक्सर कहा जाता है।

एक इंडेक्सर एक ऑब्जेक्ट को इंडेक्स करने की अनुमति देता है जैसे कि एक ऐरे। जब आप एक क्लास के लिए इंडेक्सर परिभाषित करते हैं, तो यह क्लास एक वर्चुअल ऐरे की तरह व्यवहार करता है। फिर आप इस क्लास के इंस्टेंस को ऐरे एक्सेस ऑपरेटर ([ ]) का उपयोग करके एक्सेस कर सकते हैं।

इंडेक्सर्स को ओवरलोड किया जा सकता है। इंडेक्सर्स को कई पैरामीटर्स के साथ भी घोषित किया जा सकता है और प्रत्येक पैरामीटर एक अलग प्रकार का हो सकता है। यह आवश्यक नहीं है कि इंडेक्सर्स इंटीजर हों।

उदाहरण 1

static void Main(string[] args){    IndexerClass Team = new IndexerClass();    Team[0] = "A";    Team[1] = "B";    Team[2] = "C";    Team[3] = "D";    Team[4] = "E";    Team[5] = "F";    Team[6] = "G";    Team[7] = "H";    Team[8] = "I";    Team[9] = "J";    for (int i = 0; i < 10; i++){       Console.WriteLine(Team[i]);    }    Console.ReadLine(); } class IndexerClass{    private string[] names = new string[10];    public string this[int i]{       get{          return names[i];       } set {          names[i] = value;       }    } }

आउटपुट

A B C D E F G H I J

उदाहरण 2

[] ओवरराइड करना

static class Program{    static void Main(string[] args){       IndexerClass Team = new IndexerClass();       Team[0] = "A";       Team[1] = "B";       Team[2] = "C";       for (int i = 0; i < 10; i++){          Console.WriteLine(Team[i]);       }       System.Console.WriteLine(Team["C"]);       Console.ReadLine();    } } class IndexerClass{    private string[] names = new string[10];    public string this[int i]{       get{          return names[i];       }       set{          names[i] = value;       }    }    public string this[string i]{       get{          return names.Where(x => x == i).FirstOrDefault();       }    } }

आउटपुट

A B C C
  1. - पायथन टर्नरी ऑपरेटर को कैसे ओवरलोड करें?

    टर्नरी ऑपरेटर को ओवरलोड नहीं किया जा सकता। हालांकि आप इसे लैम्ब्डा/फ़ंक्शन में लपेटकर उपयोग कर सकते हैं। उदाहरण result = lambda x: 1 if x < 3 else 10 print(result(2)) print(result(1000)) आउटपुट यह आउटपुट देगा: 1 10

  1. - पायथन में टपल पर * ऑपरेटर कैसे काम करता है?

    स्टार (*) ऑपरेटर सीक्वेंस/कलेक्शन को पोजिशनल आर्गुमेंट्स में अनपैक करता है। इसलिए यदि आपके पास एक टपल है और आप उस टपल के आइटम्स को प्रत्येक पोजिशन के लिए आर्गुमेंट्स के रूप में पास करना चाहते हैं जैसे वे टपल में हैं, तो प्रत्येक एलिमेंट को व्यक्तिगत रूप से इंडेक्स करने के बजाय, आप बस * ऑपरेटर का उप

  1. - Ruby के टर्नरी ऑपरेटर को मास्टर करना: कॉम्पैक्ट कंडीशनल लॉजिक के लिए त्वरित गाइड

    Ruby में टर्नरी ऑपरेटर क्या है? एक टर्नरी ऑपरेटर तीन भागों से बना होता है, इसी से टर्नरी शब्द आया है। इन भागों में एक कंडीशनल स्टेटमेंट और दो संभावित परिणाम शामिल हैं। दूसरे शब्दों में, एक टर्नरी आपको केवल एक लाइन कोड में एक कॉम्पैक्ट if/else एक्सप्रेशन लिखने का एक तरीका देता है। उदाहरण के लिए: if