foreach小结
时间:2010-11-17 来源:yuqicook
假设现有一个Micgles数组用我们惯用的foreach很容易就写出来:
foreach(Micgle item in Micgles)
{
Console.WriteLine(item);
}
这个代码我想每个懂C#语言的都懂,但是foreach语句其实是不会解析为IL代码中的foreach的。
C#编译器会把它转化为IEnumerable接口的方法和属性。 其实上面的代码被解析为:
IEnumerator enumerator=Micgles.GetEnumerator();
while(enumerator.MoveNext())
{
Micgle micgle=enumerator.Current as Micgle;
Console.WriteLine(micgle);
}
这下才真的了解foreach了,做个记号。
原文:http://www.yuqicook.com/post/2010111704.aspx
相关阅读 更多 +