C# 笔记16 迭代器

知识点一 迭代器是什么

迭代器 (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 去返回内容 只需要继承一个接口即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值