惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
I
InfoQ
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
云风的 BLOG
云风的 BLOG
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
WordPress大学
WordPress大学
B
Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
博客园 - 聂微东
Jina AI
Jina AI

博客园 - RockyYu

策略模式 unity中的WWW通讯问题 需求分析的方法 用TlbImp.exe生成程序可调用的Dll C++程序引用Dll 查询本地注册表,调用某后缀文件相应的执行程序,并打开文件 windows服务的安装和卸载 FFmpeg和GPL协议 List<T>的排序 C#POST数据,HttpWebRequest请求页面,HttpWebResponse返回数据 XMLHttpRequest的使用方法 错误: 无法生成临时类 图片滚动效果代码 - RockyYu - 博客园 一个不错的给图片添加说明文字的动态层的代码 - RockyYu - 博客园 截取中文字符串的js方法 js调用XML数据生成DIV 创建CLR存储过程 JavaScript Boolean (逻辑)对象 - RockyYu JavaScript文件只在IE6下出错(“未结束的字符串常量”)的解决办法。
迭代器模式(Iterator Pattern)
RockyYu · 2009-06-10 · via 博客园 - RockyYu

今天研究了一下迭代器模式.写了个小例子,记录一下,便于日后温习.为什么要用迭代器模式呢?其实很简单,我们在项目当中会用到很多不同类型的数据,把这些数据放到一起可以方便我们管理,而操作时不需要知道他具体的内部是如何的,只要能准确的找到我们所要的数据就可以了。 这个时候,迭代器模式就帮了我们的大忙。

首先,要创建一个实体的集合.里面存储了一个ArrayList,Count属性,GetEnumerator()方法(这个方法可有可无,关键看你是否需要foreach循环.好多人面试总喜欢问"能用foreach遍历访问的对象需要实现IEnumerable接口或声明GetEnumerator()方法的类型"这种题,上次面试一个大公司时我写错了一个字母,那个人埋汰了我2分钟,嘴里还念叨"这题怎么就没有一个能答对的?"所以,同志们千万要记住啊,拿出来也稍微复习一下下吧).

Code

注意GetEnumerator()里yield的用法,如果去掉yield,一定会暴出类型不匹配的错误.至于yield的深入探索就先不写了.

下面是迭代器的实现

Code

根据实际需要修改吧,基本的先写这些.

最后是程序的入口,里面写的try{}catch{}是将能转成整型的字符串进行转换.在输出的时候也能够看到他们不同的类型.

Code