重温设计模式 --- 迭代器模式

AI-摘要
FantasyGPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
重温设计模式 --- 迭代器模式
Fantasy-ke引言
迭代器模式是一种行为型设计模式,它允许按照特定顺序遍历集合对象的元素,同时不暴露集合的内部结构。这样做可以让客户端代码不依赖于集合对象的具体实现,从而提高代码的灵活性和可重用性。
在迭代器模式中,聚合对象将其遍历的职责委托给迭代器对象,而不是在聚合对象中实现遍历。
迭代器模式的优点是可以支持以不同的方式遍历一个聚合对象,而且可以隐藏遍历元素的内部细节。
在 C# 中,迭代器模式可以通过实现IEnumerable和IEnumerator接口来实现。其中 IEnumerable接口定义了一个GetEnumerator方法,返回一个实现了IEnumerator接口的迭代器对象。IEnumerator接口则定义了访问集合中元素的方法,包括Current、MoveNext和Reset等。
迭代器实现
1 | public class MyCollection : IEnumerable |
这样我们可以直接使用foreach进行遍历:
1 | new MyCollection(); |
输出结果
1 | 31 |
结论
这就是迭代器模式的基本用法。它可以让我们轻松地遍历集合对象中的元素,而不必暴露集合的内部结构。此外,通过实现IEnumerable和IEnumerator接口,我们可以轻松地在 C# 中实现迭代器模式。
:::tip{title=”提示”}foreach是c#语法糖,用来遍历实现了IEnumerable接口的集合类。
foreach 循环的原理是通过调用集合类的GetEnumerator方法,返回一个实现了IEnumerator接口的迭代器对象,然后通过迭代器对象的MoveNext方法,依次访问集合中的每个元素,直到集合中的所有元素都被访问完毕。
:::
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果











