索引器的行为更像一个支持IEnumerator接口和IEnumerable接口的自定义集合。唯一的主要区别是:和使用接口类型访问内容相比,我们可以向操作一个标准数组一样操作索引器。
索引器的创建方式:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
//给现有的类定义添加索引器
public class Garage:IEnumerable //foreach iteration
{
![](https://www.cnblogs.com/Images/dot.gif)
//使用ArrayList作为Car类型的容器
private ArrayList carArray = new ArrayList();
//索引器基于数字序号返回一个Car
public Car this[int pos]
{
//注意ArrayList也有一个索引器
get { return (Car)carArray[pos]; }
set { carArray[pos] = value; }
}
}