首页 > 其他 > 详细

迭代器学习(一)

时间:2015-05-26 23:23:29      阅读:262      评论:0      收藏:0      [点我收藏+]

  迭代器模式是行为模式的一种范例,行为模式是一种简化对象之间通信的设计模式。实际上,它允许你访问一个数据项序列中的所有元素,而无须关心序列是什么类型--数组、列表、链表或者任何其他类型。它能非常有效地构建出一个数据管道,经过一系列不同的转换或过滤后再从管道的另一端出来,实际上,这也是Linq的核心模式之一。

  在.NET中,迭代器模式是通过IEnumerator和IEnumerable接口及他们的泛型等价物来封装的。如果某个类型实现了IEnumerable接口,就意味着它可以被迭代访问。调用GetEnumerator方法将返回IEnumerator的实现,这就是迭代器的本身。可以将迭代器想象成数据库的游标,即序列中的某个位置。迭代器只能在序列中向前移动,而且对于同一个序列可能同事存在多个迭代器操作。

  我们用的foreach语句实现了访问迭代器的内置支持。foreach语句被编译后会调用GetEnumerator和MoveNext方法,以及current属性,加入IDisposable也实现了,程序最后还会自动销毁迭代器对象,这是一个虽不起眼但是却很有用的语法糖。

迭代器学习(一)

原文:http://www.cnblogs.com/xijianyao/p/4531956.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!