可能重复:
foreach循环如何在C#中工作?
我一直在网上搜索,我很难找到任何关于foreachC#循环幕后真实情况的答案.
我知道这个问题并不真正与实际编码有关,但它困扰着我.我对OO编程很熟悉,特别是接口.我知道他们是合同,我知道如何IEnumerable和IEnumerator工作-我还是这么认为.
我一直在MSDN上阅读这篇文章: IEnumerable Interface
我理解一切都是如何建立的.我有点不清楚,虽然在Main循环中如何foreach知道通过所有的值来迭代_people.怎么知道这个?它如何Current通过调用来跟踪return new PeopleEnum(_people);?
编辑:我不知道这是一个完全重复.是的,它的类似理由和同样的问题被问到,但我们正在寻找不同的答案或我想要的答案在前一个问题中没有讨论过.
像foreach(在obj中的int i){...}等等的foreach循环等同于
......"有点"不是我正在寻找的答案.