C#中的迭代器、反射、属性及动态编程
1. 迭代器(Iterators)
1.1 迭代器基础
迭代器是一种强大的工具,可用于遍历集合。以下是一个简单示例,展示如何使用迭代器遍历C#的基本类型:
CSharpPrimitiveTypes primitives = new CSharpPrimitiveTypes(); foreach (string primitive in primitives) { Console.WriteLine(primitive); }输出结果为C#的基本类型列表:
object byte uint ulong float char bool ushort decimal int sbyte short long void double string1.2 迭代器与状态
当在foreach语句中首次调用迭代器时,其状态会在枚举器中初始化。只要调用处的foreach语句继续执行,迭代器就会保持其状态。当使用yield return返回一个值并处理后,继续执行foreach语句时,迭代器会从上一次循环结束的地方继续处理。当调用处的foreach语句终止时,迭代器的状态将不再保存。再次调用迭代器总是安全