Class C# Tutorial

using System;
using System.Collections;
public class MainClass
{
  public static void Main()
  {
    EmployeeList empList = new EmployeeList();
  
    empList[0] = new Employee("F");
    empList[1] = new Employee("C");
    empList[2] = new Employee("Z");
    for(int i = 0; i < empList.GetNumberOfEmployeeList(); i++)
    {
      Console.WriteLine("Employee number {0}:", i);
      Console.WriteLine("Name: {0}", empList[i].Name);
    }
    try
    {
      Console.WriteLine("Using IEnumerable");
      foreach (Employee c in empList)
      {
        Console.WriteLine("Name: {0}", c.Name);
      }
    }
    catch{}      
  }
}
public class EmployeeList : IEnumerable
{
  private ArrayList carArray;
  public EmployeeList()
  {
    carArray = new ArrayList();
  }
  // The indexer.
  public Employee this[int pos]
  {
    get
    {
      if(pos < 0)
        throw new IndexOutOfRangeException("Hey! Index out of range");
      else
        return (Employee)carArray[pos];
    }
    set
    {
      carArray.Insert(pos, value);
    }
  }
  public int GetNumberOfEmployeeList()
  {
    return carArray.Count;
  }
  public IEnumerator GetEnumerator()
  {
    return carArray.GetEnumerator();
  }
}
public class Employee
{
  public Employee(string name)
  {
    this.Name = name;
  }
  public string Name;
}
Employee number 0:
Name: F
Employee number 1:
Name: C
Employee number 2:
Name: Z
Using IEnumerable
Name: F
Name: C
Name: Z