c# 泛型类 IEnumerator<T>
泛型类里的遍历的时候publicIEnumerator<int>GetEnumerator(){......},下面这段代码是不是多余的???IEnumeratorIEn...
泛型类里的遍历的时候
public IEnumerator<int> GetEnumerator()
{
......
}
,下面这段代码是不是多余的???
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator(); // IEnumerator是IEnumerator<T>的基类
} 展开
public IEnumerator<int> GetEnumerator()
{
......
}
,下面这段代码是不是多余的???
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator(); // IEnumerator是IEnumerator<T>的基类
} 展开
展开全部
不多余,因为这段代码实现了IEnumerator<int>里面定义的一个接口,接口是起约束作用的,如果你在类中没有实现接口里面的所有方法,vs会报错的。虽然可能没有实际的意义,但是继承了该接口就一定要实现里面的所有方法。除非IEnumerator<int>是你自定义的,你觉得多余的话要把这个方法删除,并且还要从IEnumerator<int>接口中把定义的接口一起删除。
追问
你没说到重点,可能是我没说清楚吧.
查了下资料,是这样的:
IEnumerable继承了IEnumerable接口,IEnumerable里面有个GetEnumerator()方法,但是IEnumerable也有这样的一个方法.所以要同时实现这两个接口的GetEnumerator()方法,并且返回对应的接口类型
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询