Indexer to append
In this chapter you will learn:
Add value with indexer
Indexer can both output value and input value. The following code uses indexer to add element.
using System;/*from j a va 2 s . co m*/
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;
}
The code above generates the following result.
Next chapter...
What you will learn in the next chapter:
- How to write more complex code for indexer
- Indexer based on 0 or non-zero
- Use an indexer to create a fail-soft array
Home » C# Tutorial » Class