Indexing with an Integer Indexer : Indexer : Class C# Examples


C# Examples » Class » Indexer »

 

Indexing with an Integer Indexer






It is possible to overload the [ ] operator for classes that you create with an indexer.
An indexer allows an object to be indexed like an array.





    
using  System;
using  System.Collections;

class  Pair
{
        public  Pair(string  name,  object  data)
        {
                this.name  =  name;
                this.data  =  data;
        }
        public  string  Name
        {
                get
                {
                        return(name);
                }
                set
                {
                        name  =  value;
                }
        }
        public  object  Data
        {
                get
                {
                        return(data);
                }
                set
                {
                        data  =  value;
                }
        }
        string        name;
        object  data;
}
class  PairList
{
        public  PairList()
        {
                row  =  new  ArrayList();
        }
        
        public  void  Load()  
        {
                /*  load  code  here  */  
                row.Add(new  Pair("A",  5551212));
                row.Add(new  Pair("B",  "Fred"));
                row.Add(new  Pair("C",  2355.23m));
        }
        
        //  the  indexer
        public  Pair  this[int  column]
        {
                get
                {
                        return((Pair)  row[column  -  1]);
                }
                set
                {
                        row[column  -  1]  =  value;
                }
        }
        ArrayList        row;        
}
class  MainClass
{
        public  static  void  Main()
        {
                PairList  row  =  new  PairList();
                row.Load();
                Console.WriteLine("Column  0:  {0}",  row[1].Data);
                row[1].Data  =  12;        
        }
}
    
   
  
   



Output

Column 0: 5551212


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Class
» Indexer