在程序开发过程中,常常需要对一组对象进行访问,通常是创建数组列表,通过操作数组的方式进行访问。
C#提供的索引指示器使我们可以方便且高效的完成对一组对象的访问。通常,我们先创建一个容器类,用于
存储对象,并且通过实现枚举器接口提供相应的操作方法。以下示例程序演示了如何创建并使用索引指示器。
第一步:创建容器类
这段代码中,使用了ARRAYLIST,使我们可以利用ARRAYLIST的功能特性管理对象;另外,实现IENUMERATOR接口,提供如MOVENEXT,RESET等方法,并且使容器类可以支持FOREACH操作。
class Employees:IEnumerator //为了使容器支持(FOREACH...IN...)操作,必须实现IENUMERATOR接口)
{
private ArrayList m_Employees; //定义一个ARRAYLIST对象
private int m_MaxEmployees; //定义容器可接受的最大对象数量
//构造器,创建ARRAYLIST对象,并且定义可接受的最大对象数量
public Employees(int MaxEmployees)
{
m_MaxEmployees = MaxEmployees;
m_Employees = new ArrayList(MaxEmployees);
}
//按照索引ID创建索引指示器
public Employee this[int index]
{
get
{
if (index < 0 || index > m_Employees.Count -1)
{
return null;
}
return (Employee) m_Employees[index];
}
set
{
if (index <0 || index > m_MaxEmployees-1)
{
return ;
}
m_Employees.Insert(index,value);
}
}
//自定义索引指示器
public Employee this[string SSN]
{
get
{
Employee empReturned = null;
foreach (Employee employee in m_Employees)
{
| 对此文章发表了评论 |

