12 2012 档案
摘要:本篇我们讨论for和foreach配合yield的情况。首先看如下代码以及生成的隐藏类。 public static IEnumerable Power(int baseNumber, int highExponent) { int result = 1; for (int counter = 1; counter <= highExponent; counter++) { result = result * baseNumber; ...
阅读全文
摘要:本篇会简单的介绍yield关键字,通过yield关键字返回的类型,以及Reflector反编译的结果来分析yield关键字。最后给出一个仿造的方法。 首先我们看一下yield的用法,他的返回类型返回类型必须是IEnumerable、IEnumerable<T>、IEnumerator或IEnumerator<T>,这意味着yield生成的这个对象必须同时实现IEnumerable和IEnumerator这2个接口。 class Program { public static IEnumerable Easy1() { ...
阅读全文