Mega Code Archive

 
Categories / C# Tutorial / Class
 

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;         } } Column 0: 5551212