[] ऑपरेटर को इंडेक्सर कहा जाता है।
एक अनुक्रमणिका किसी वस्तु को अनुक्रमित करने की अनुमति देती है जैसे कि एक सरणी। जब आप किसी वर्ग के लिए एक अनुक्रमणिका परिभाषित करते हैं, तो यह वर्ग एक आभासी सरणी के समान व्यवहार करता है। फिर आप ऐरे एक्सेस ऑपरेटर ([ ]) का उपयोग करके इस वर्ग के उदाहरण तक पहुँच सकते हैं।
इंडेक्सर्स को ओवरलोड किया जा सकता है। इंडेक्सर्स को कई मापदंडों के साथ भी घोषित किया जा सकता है और प्रत्येक पैरामीटर एक अलग प्रकार का हो सकता है। यह आवश्यक नहीं है कि अनुक्रमणिका पूर्णांक हों।
उदाहरण 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