对象如果可以提供相关对象的引用,就是一个集合,称为枚举,遍历集合中的项目。集合必须执行接口System.Collentions.LEnumerable, LEnumerable只定义了一个方法,如下所示:
Interface IEnumeralbe
{
IEnumerator GetEnumerator();
}
IEnumerator的工作方式如下: 执行该接口的对象与一个集合相关联,这个对象在第一次初始化时,还没有指向集合中的任何元素,必须调用MoveNext(),移动枚举,才能使它指向集合中的第一个元素。接着用Current属性获取该元素,Current属性返回一个对象引用,所以必须把它的数据类型转化为在集合中查找的对象类型。可以对该对象进行任何操作之后再次通过,再次调用MoveNext()方法移动到集合的下一个元素上,重复这个过程,直到集合中没有元素为止,当Current属性返回null,就表示到达了集合的末尾。如果要随时返回集合的开头,就可以调用Reset()方法。注意Reset()方法返回集合开头前面的位置
数组也是集合,因为foreach命令可以作用于数组。对于System.Array类提供的枚举数组,可以按照下标从0开始的升序来遍历其中的元素。