<分区>
Possible Duplicate:
How do foreach loops work in C#?
我一直在互联网上搜索,但我无法找到关于 C# 中的 foreach
循环幕后真正发生的事情的任何答案。
我知道这个问题与实际编码无关,但它困扰着我。我对 OO 编程特别是接口(interface)很陌生。我了解它们是契约(Contract),并且我了解 IEnumerable
和 IEnumerator
的工作原理 - 我认为是这样。
我一直在 MSDN 上阅读这篇文章: IEnumerable Interface
我了解一切是如何设置的。虽然在 Main
循环中我有点不清楚 foreach
如何知道遍历 _people
中的所有值。它怎么知道的?它如何通过调用 return new PeopleEnum(_people);
来跟踪Current
?
编辑:我看不出这是一个完全相同的副本。是的,它有相似的理由和相同的问题,但我们正在寻找不同的答案或我想要的答案在上一个问题中没有讨论。
A foreach loop like foreach(int i in obj) {...} kinda equates to
...“有点”不是我正在寻找的答案。