c# 泛型类 IEnumerator<T>

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

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式