C# 迭代器、枚举器、枚举数有什么区别
2个回答
展开全部
实现了IEnumerator的类是可迭代类,它具有迭代器,但本身并不是迭代器。
GetEnumerator()方法返回的才是迭代器。
枚举器和迭代器【应该】就是一个意义。
枚举数【应该】就是枚举类型,是有一定意义的一些列元素的总合,但是同一时间,只能取到其中的一个值,如WeekDay.Friday(注意与数组的区别)
GetEnumerator()方法返回的才是迭代器。
枚举器和迭代器【应该】就是一个意义。
枚举数【应该】就是枚举类型,是有一定意义的一些列元素的总合,但是同一时间,只能取到其中的一个值,如WeekDay.Friday(注意与数组的区别)
追问
谢谢大哥指教!
我看说明文档写的是
GetEnumerator()方法返回一个IEnumerator接口类型的对象,也说是返回一个枚举器
那意思不是说实现IEnumerator接口的类就是枚举器吗?
另外,表示可迭代好像是继承IEnumerable接口,只需实现返回IEnumerator接口类型的方法
追答
实现IEnumerator的并不一定是迭代器,但是迭代器一定都实现了IEnumerator接口
具体你可以看看MSDN上的详情:http://msdn.microsoft.com/en-us/library/system.collections.ienumerator.aspx
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询