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