随笔分类 -  [01] 迭代器系列

理解foreach的最佳实践!
摘要:在前面的三篇文章中已经对IEnumerable和IEnumerator的知识做了很多的讲解了! 但是在.NET2.0以后却提供了一个更为简单的创建可枚举类型和枚举数,这是由手动 → 编译器内置迭代器自动生成可枚举类型和枚举数,他就是“yield”,它更加的简化了迭代器的使用,提高了开发人员的效率,那就让我来说一说它! 本文注重yield的内部实现,至于用法不加详细说明,需要的话网上搜搜一大堆! 对于yield园子里面也有很多经典的文章,写这篇只是记录学习时候的感受,纯属一家之言啊! 1.yield 简单例子: ... 阅读全文
posted @ 2011-12-11 16:57 TimYang 阅读(2589) 评论(7) 推荐(3) 编辑
摘要:上一篇讲了关于数组可枚举类型和枚举数的实现,这一片会涉及到IEnumerable和IEnumerator的泛型结构! 在讲之前,首先大家要对C#的泛型知识要有一定的理解,如果想学习,可以参考其它的资料学习! 泛型的优点大家都知道,不仅是类型安全,还在扩展性方面变的很强大,以及在性能上的优势也是有目共睹的,废话不多说,Let's go。 1.IEnumerable<T>接口 首先来看一下它的泛型接口定义:1 public interface IEnumerable<out T> : IEnumerable2 {3 // Methods... 阅读全文
posted @ 2011-12-09 19:47 TimYang 阅读(1884) 评论(0) 推荐(1) 编辑
摘要:上一篇文章讲到了如何构建自己的可枚举类型和枚举数! 这一片将重点讲解我们经常使用的数组,首先抛出一个疑问,为什么定义的数组可以进行foreach遍历?带着这个问题我们来一探究竟! 1、Array的可枚举类型和枚举数的创建 ①首先看一个简单的列子 1 string[] strArray = { "aa", "bb", "cc", "dd" };2 foreach (string item in strArray)3 {4 Console.WriteLine(item);5 } 根据上一篇的... 阅读全文
posted @ 2011-12-04 16:07 TimYang 阅读(1479) 评论(0) 推荐(2) 编辑
摘要:写博客是检验我学习的成果之一以及自我总结的一种方式,以后会经常利用这种方式进行技术交流和自我总结,其中认识不深难免会有错误,但是一直懂得不懂就问,不懂就学的道理! 1、首先看一个简单的列子 1 int[] myArray = { 1, 32, 43, 343 }; 2 //很少这样写的 3 IEnumerator myie = myArray.GetEnumerator(); //获取需要遍历的枚举数 4 myie.Reset(); //重置 5 while (myie... 阅读全文
posted @ 2011-12-04 07:39 TimYang 阅读(3861) 评论(5) 推荐(5) 编辑