实现什么接口的类实例可以被foreach

被一个哥们问到了,感觉应该是IEnumerator,或者是IEnumerable,但是不能确定,只有鄙视自己一下先,然后做了个试验才确定了,只要实现了IEnumerable接口就可以被foreach了,IEnumerator接口是不需要实现的,只要这个类能够通过GetEnumerator方法返回一个IEnumerator就可以了。
IEnumerable接口只有一个方法IEnumerator GetEnumerator(),最简单的例子类如下:

class IEnumeratorClass : IEnumerable
    
{
        
private ArrayList _arrayList;

        
public IEnumeratorClass(ArrayList list)
        
{
            _arrayList 
= list;
        }


        
IEnumerable 成员
    }
原文地址:https://www.cnblogs.com/yukaizhao/p/which_interface_provide_foreach.html