IEnumerable是一个接口,几乎所有的集合都实现了这个接口,包括Array、List、Dictionary,所以我们可以对其进行Foreach循环迭代。
IEnumerable里面定义了一个方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。IEnumerator对象是一个真正的迭代访问器,每当调用foreach循环时,就调用IEnumerable.GetEnumerator(),获取IEnumerator对象,这个对象里面有一个属性两个方法,如下
MoveNext:把当前的项移动到下一项(类似于索引值),返回一个bool值,这个bool值用来检查当前项是否超出了枚举数的范围!
Current:获取当前项的值,返回一个object的类型!
Reset:顾名思义也就是把一些值恢复为默认值,比如把当前项恢复到默认状态值!
故实现了IEnumerable接口,foreach循环才可调用,在此记录