2012-03-23 85 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