Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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. पायथन में * ऑपरेटर टुपल पर कैसे काम करता है?

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

  1. रूबी टर्नरी ऑपरेटर का उपयोग कैसे करें (?:)

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