吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

2011年12月5日

C#迭代器

摘要: 迭代器概述迭代器是可以返回相同类型的值的有序序列的一段代码。迭代器可用作方法、运算符或 get 访问器的代码体。迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代。有关更多信息,请参见 yield。可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在 foreach 语句中被客户端代码调用,如下所示:foreach(int x in SampleClass.Iterator2){}迭代器的返回类型必须为 IEnumerable、IEnumerator、IEnumerable<T> 或 IEnumerato 阅读全文

posted @ 2011-12-05 00:33 _eagle 阅读(5703) 评论(0) 推荐(1) 编辑

深入foreach工作方式

摘要: IEnumerable 接口负责使用foreach循环。下面说明在foreach中,迭代集合collectionObject的过程如下:1.调用collectionObject.GetEnumerator(),返回一个 IEnumerator引用。这个方法可以通过IEnumerable接口的实现代码来获得,但这是可选的。2.调用所返回的IEnumerator接口的MoveNext()方法。3.如果MoveNext()方法返回true,就使用IEnumerator接口的 Current属性获取对象的一个引用,用于foreach循环.4.重复前面两步,直到MoveNext()方法返回false为止 阅读全文

posted @ 2011-12-05 00:22 _eagle 阅读(262) 评论(0) 推荐(0) 编辑