2012-03-23 49 views

回答

0

我认为这是没有背后的思想。正如你所知foreach被加了很多年之后,Enumerator和foreach就建立在它(*)上。

(*) foreach是有点相当于:

var enumerator = someList.GetEnumerator(); 
while (enumerator.MoveNext()) 
{ 
    //do something with enumerator.Current 
} 

无法运行GetEnumerator上的东西是零。

+1

您认为在哪个版本的C#中引入了“foreach”? – phoog 2012-03-23 23:16:28

+0

在2.0版本中,您可以为自己的收藏编写foreach。 – 2012-03-23 23:34:26

+0

我刚刚发现这证实了这一点:http://www.wrox.com/WileyCDA/Section/What-s-New-in-the-NET-Framework-2-0.id-290323.html请参阅:迭代器。 – 2012-03-23 23:35:45