作业帮 > 综合 > 作业

C# 迭代器、枚举器、枚举数有什么区别

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 09:39:10
C# 迭代器、枚举器、枚举数有什么区别
迭代器是指实现IEnumerator接口的类吗?

枚举器和枚举数跟迭代器有什么关系?
实现了IEnumerator的类是可迭代类,它具有迭代器,但本身并不是迭代器.
GetEnumerator()方法返回的才是迭代器.
枚举器和迭代器【应该】就是一个意义.
枚举数【应该】就是枚举类型,是有一定意义的一些列元素的总合,但是同一时间,只能取到其中的一个值,如WeekDay.Friday(注意与数组的区别)
再问: 谢谢大哥指教! 我看说明文档写的是 GetEnumerator()方法返回一个IEnumerator接口类型的对象,也说是返回一个枚举器 那意思不是说实现IEnumerator接口的类就是枚举器吗? 另外,表示可迭代好像是继承IEnumerable接口,只需实现返回IEnumerator接口类型的方法
再答: 实现IEnumerator的并不一定是迭代器,但是迭代器一定都实现了IEnumerator接口 具体你可以看看MSDN上的详情:http://msdn.microsoft.com/en-us/library/system.collections.ienumerator.aspx