幸运星空

Lucker的程序人生

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

(根据MSDN WebCast相关课程整理)

解决集合和访问的问题。

集合内部结构主要有链表式,顺序式等。

组件开发人员往往希望在不暴露组件内部结构的前提下,提供灵活的外部访问。

GoF:提供一种方法顺序的访问一个聚合对象中的各个元素,而不暴露对象的各个组织结构。

clip_image002

MyEnumerator继承自IEnumerator,因此同样相同的字段和方法。在MyCollection中,通过GetEnumable()方法,获得MyEnumerator对象,从而实现对MyCollection中对象的顺序访问。

clip_image004

clip_image006

clip_image008

在C#环境中,我们还可以更加方便的使用迭代器:

clip_image010

另,在C#2.0以后,我们还可以很加方便的实现GetEnumerator()方法:

clip_image012

在迭代器中,我们不可以更改集合对象中个体元素的值,也不可以更改容器结构。我们应该确实集合中每个元素被遍历且只被遍历一次。

<完>

posted on 2012-03-01 17:13  Lucker  阅读(594)  评论(0编辑  收藏  举报