Fork me on GitHub
摘要: 迭代器是一种方法、get 访问器或运算符,它通过使用 yield 关键字对数组或集合类执行自定义迭代。yield 返回语句会导致源序列中的元素在访问源序列中的下一个元素之前立即返回给调用方。尽管您以方法的形式编写迭代器,但编译器会将其转换为一个实际上是状态机的嵌套类。只要客户端代码中的 foreach 循环继续进行,此类就会跟踪迭代器的位置。 将使用 foreach 语句从客户端代码中调用迭代器。在为类或结构创建迭代器时,您不必实现整个 IEnumerator 接口。当编译器检测到迭代器时,它将自动生成 IEnumerator 或 IEnumerator<(Of <(T>)& 阅读全文
posted @ 2011-11-13 21:24 Halower 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 我们可以通过实现System.Collections.IEnumerableSystem.Collections.IEnumerator接口写出自己需要的集合类。下面写两种设计实现自定义Library集合类的方法: using System;using System.Collections;namespace Library{ class Library : IEnumerable//实现接口IEnumerabler { protected class Enumerator : IEnumerator//实现接口IEnumerator { private string exceptionIn. 阅读全文
posted @ 2011-11-13 18:38 Halower 阅读(415) 评论(0) 推荐(0) 编辑
摘要: Queue(队列)表示对象的先进先出集合,默认初始容量32。usingSystem;usingSystem.Collections;namespacetQueue{classTest{staticvoidMain(){Queuequeue=newQueue();queue.Enqueue("广告史");queue.Enqueue("市场调研");queue.Enqueue("传播学");Console.WriteLine("队列开始处是{0}",queue.Peek());Console.WriteLine(que 阅读全文
posted @ 2011-11-13 13:34 Halower 阅读(261) 评论(0) 推荐(0) 编辑