知识点一 迭代器是什么
迭代器 (iterator) 有时又称光标 (cursor)
是程序设计的软件设计模式
迭代器模式提供一个方法顺序访问一个聚合对象中的各个元素
而又不暴露其内部的标识
在表现效果上看
是可以在容器对象 (例如链表或数组) 上遍历访问的接口
设计人员无需关心容器对象的内存分配的实现细节
可以用foreach遍历的类,都是实现了迭代器的
知识点二 标准迭代器的实现方法
关键接口:
IEnumerator,IEnumerable
命名空间: using system.Collections;
可以通过同时继承IEnumerable和IEnumerator实现其中的方法main中:
知识点三 用yield return 语法糖实现迭代器
yield return 是C#提供给我们的语法糖
所谓语法糖,也称糖衣语法
主要作用就是将复杂逻辑简单化,可以增加程序的可读性
从而减少程序代码出错的机会
关键接口: IEnumerable
命名空间: using System.Collections;
让想要通过foreach遍历的自定义类实现接口中的方法GetEnumerator即可
知识点四 用yield return 语法糖为泛型类实现迭代器
总结:
迭代器就是可以让我们在外部直接通过foreach遍历对象中元素而不需要了解其结构
主要的两种方式
1.传统方式 继承两个接口 实现里面的方法
2.用语法糖 yield return 去返回内容 只需要继承一个接口即可