Rocky Yu

寻找属于自己的幸福!~

导航

迭代器模式(Iterator Pattern)

Posted on 2009-06-10 16:56  RockyYu  阅读(243)  评论(0编辑  收藏  举报

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

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

 

Code

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

下面是迭代器的实现

Code

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

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

 

Code