码迷,mamicode.com
首页 > 其他好文 > 详细

迭代器学习(一)

时间:2015-05-26 23:24:48      阅读:127      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!