/* A Programmer's Introduction to C# (Second Edition) by Eric Gunnerson Publisher: Apress L.P. ISBN: 1-893115-62-3 */ // 19 - Indexers and EnumeratorsIndexing with an Integer Index // copyright 2000 Eric Gunnerson using System; using System.Collections; class DataValue { public DataValue(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 DataRow { public DataRow() { row = new ArrayList(); } public void Load() { /* load code here */ row.Add(new DataValue("Id", 5551212)); row.Add(new DataValue("Name", "Fred")); row.Add(new DataValue("Salary", 2355.23m)); } // the indexer public DataValue this[int column] { get { return((DataValue) row[column - 1]); } set { row[column - 1] = value; } } ArrayList row; } public class IndexingwithanIntegerIndex { public static void Main() { DataRow row = new DataRow(); row.Load(); Console.WriteLine("Column 0: {0}", row[1].Data); row[1].Data = 12; // set the ID } }