C# foreach

C#的foreach 语句不会解析为IL 代码中的foreach 语句。C#编译器会把foreach 语句转换为
IEnumerable 接口的方法和属性。下面是一个简单的foreach 语句,它迭代persons 数组中的所有元素,
并逐个显示它们:
foreach (Person p in persons)
{
Console.WriteLine(p);
}
foreach 语句会解析为下面的代码段。首先,调用GetEnumerator()方法,获得数组的一个枚举。
在while 循环中-- 只要MoveNext()返回true-- 用Current 属性访问数组中的元素:
IEnumerator enumerator = persons. GetEnumerator();
while (enumerator.MoveNext())
{
Person p = (Person) enumerator.Current;
Console.WriteLine(p);
}
posted @ 2011-05-30 15:16  Kingdom_0  阅读(224)  评论(0编辑  收藏  举报