大道至简,始终认为简洁是一门优秀的编程语言的一个必要条件.相对来说,C#是比较简洁的,也越来越简洁.在C#中,一个关键字或者语法糖在编译器层面为我们做了很多乏味的工作,可能实现的是一个设计模式,甚至是一个算法.例如:lock关键字让用对象获取互斥锁从而实现线程同步,本质上是通过Monitor类来实现的,显然简洁很多.本文要讲的枚举数和迭代器在.net集合类被广泛使用,当然遵循着简洁的设计思想. 1.枚举数 1.1foreach的本质 我们知道,实现了IEnumerable接口的类型对象是可for…