Click here to Skip to main content
15,881,882 members
Articles / Programming Languages / C#
Article

Indexers In C#

Rate me:
Please Sign up or sign in to vote.
1.06/5 (15 votes)
6 Sep 2006CPOL 64.2K   11   5
C# introduces a new concept known as Indexers which are used for treating an object as an array. The indexers are usually known as smart arrays in C# community.

Introduction

C# introduces a new concept known as Indexers which are used for treating an object as an array. The indexers are usually known as smart arrays in C# community. Defining a C# indexer is much like defining properties. We can say that an indexer is a member that enables an object to be indexed in the same way as an array.

C#
this [argument list] 
{ 
    get 
    { 
        // Get codes goes here 
    } 
    set 
    { 
        // Set codes goes here 
    } 
} 

Where the modifier can be private, public, protected or internal. The return type can be any valid C# types. The 'this' is a special keyword in C# to indicate the object of the current class. The formal-argument-list specifies the parameters of the indexer. The formal parameter list of an indexer corresponds to that of a method, except that at least one parameter must be specified, and that the ref and out parameter modifiers are not permitted. Remember that indexers in C# must have at least one parameter. Other wise the compiler will generate a compilation error.


The following program shows a C# indexer in action

// C#: INDEXER 
using System; 
using System.Collections; 

class MyClass 
{ 
    private string []data = new string[5]; 
    public string this [int index] 
    { 
       get 
       { 
           return data[index]; 
       } 
       set 
       { 
           data[index] = value; 
       } 
    } 
}

class MyClient 
{ 
   public static void Main() 
   { 
      MyClass mc = new MyClass(); 
      mc[0] = "Rajesh"; 
      mc[1] = "A3-126"; 
      mc[2] = "Snehadara"; 
      mc[3] = "Irla"; 
      mc[4] = "Mumbai"; 
      Console.WriteLine("{0},{1},{2},{3},{4}",mc[0],mc[1],mc[2],mc[3],mc[4]); 
   } 
} 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
techbubbles.com
India India
WWW.TECHBUBBLES.COM

Comments and Discussions

 
QuestionWhat are the real time case studies where we need Indexers ? Pin
Ammar Shaukat9-Apr-17 19:55
professionalAmmar Shaukat9-Apr-17 19:55 
GeneralMy vote of 1 Pin
David Catriel26-Apr-11 16:23
David Catriel26-Apr-11 16:23 
GeneralMy vote of 2 Pin
PavelGnelitsa21-Jun-09 21:23
PavelGnelitsa21-Jun-09 21:23 
GeneralComments Pin
Andrew Phillips10-Oct-07 18:42
Andrew Phillips10-Oct-07 18:42 
GeneralSimple and Good Example Pin
Virendrak19-Jul-07 1:02
Virendrak19-Jul-07 1:02 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.