枚举器和可枚举类型

1、什么是可枚举类型

        可枚举类型是带有GetEnumerator方法的类型,不一定是类也有可能是数组,接口,它返回一个枚举器。

2、什么是枚举器

        枚举器是可以依次返回集合中项的对象,获取一个枚举器的方法是调用对象的GetEnumerator的方法,简单理解枚举器就是GetEnumerator方法返回的实例,这个方法的返回的实例类型可以有很多种;

       例如我们使用foreach语句遍历数组中的内容时,我们可以依次取出数组中的每一个元素,读取它的值,为什么数组可以这么做?因为数组提供了一个枚举器对象,枚举器可以依次返回请求的数组中的元素

       

3、枚举器和foreach语句一起使用

        枚举器和可枚举类型

4、IEnumerator接口

        枚举器和可枚举类型         

          IEnumerator接口是所有非泛型枚举器的基接口(即GetEnumerator方法返回实例类型如果是非泛型,则返回实例类型全部继承自IEnumerator接口).

          IEnumerator<T>接口是所有泛型枚举器的基接口

          类型是IEnumerator接口的枚举器(GetEnumerator方法返回的实例类型是IEnumerator接口)包含三个函数成员:Current、MoveNext以及Reset,复杂了解即可,直接通过foreach语句遍历

                         枚举器和可枚举类型

 

         枚举器和可枚举类型 

5、IEnumerable接口 

 枚举器和可枚举类型