A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mdl 中级黑马   /  2013-6-13 18:46  /  1165 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

话说这迭代器究竟是什么东东啊,不明白啊,都看了好几遍了

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

2 个回复

倒序浏览
1. 迭代器是可以返回相同类型的值的有序序列的一段代码。
2. 迭代器可用作方法、运算符或 get 访问器的代码体。
3. 迭代器代码使用 yield return 语句依次返回每个元素。yieldbreak 将终止迭代。
4. 可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在foreach 语句中被客户端代码调用,如下所示:foreach(int x in SampleClass.Iterator2){}。
5.  迭代器的返回类型必须为 IEnumerable、IEnumerator、IEnumerable<(Of<(T>)>) 或 IEnumerator<(Of <(T>)>)。
6. 迭代器是 LINQ 查询中延迟执行行为的基础。
7. yield 关键字用于指定返回的一个或多个值。到达yield return 语句时,会保存当前位置。下次调用迭代器时将从此位置重新开始执行。
8.  迭代器对集合类特别有用,它提供一种简单的方法来迭代复杂的数据结构(如二进制树)。

回复 使用道具 举报
用最直观的说法,迭代就是指循环,迭代器是指实现该循环的一种方式。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马