实现什么接口的类实例可以被foreach
被一个哥们问到了,感觉应该是IEnumerator,或者是IEnumerable,但是不能确定,只有鄙视自己一下先,然后做了个试验才确定了,只要实现了IEnumerable接口就可以被foreach了,IEnumerator接口是不需要实现的,只要这个类能够通过GetEnumerator方法返回一个IEnumerator就可以了。
IEnumerable接口只有一个方法IEnumerator GetEnumerator(),最简单的例子类如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
被一个哥们问到了,感觉应该是IEnumerator,或者是IEnumerable,但是不能确定,只有鄙视自己一下先,然后做了个试验才确定了,只要实现了IEnumerable接口就可以被foreach了,IEnumerator接口是不需要实现的,只要这个类能够通过GetEnumerator方法返回一个IEnumerator就可以了。
IEnumerable接口只有一个方法IEnumerator GetEnumerator(),最简单的例子类如下: