class myListBox
{
protected ArrayList data = new ArrayList();
public object this[int idx]
{
get
{
if(idx > -1 && idx < data.Count)
{
return (data[idx]);
}
else
{
// possibly throw an exception here
return null;
}
}
set
{
if(idx > -1 && idx < data.Count)
{
data[idx] = value;
}
else if (idx == data.Count)
{
data.Add(value);
}
else
{
// possibly throw an exception here
}
}
}
}
class TestApp
{
[STAThread]
static void Main(string[] args)
{
myListBox lBox = new myListBox();
lBox[0] = "First";
lBox[1] = "Second";
lBox[2] = "Third";
Console.WriteLine("{0},{1},{2}",lBox[0],lBox[1],lBox[2]);
}
}