c# – 关于IEnumerable的问题
发布时间:2020-12-15 19:36:35 所属栏目:百科 来源:网络整理
导读:我注意到IEnumerable(Generics)需要实现2个方法: 1. IEnumerator T的GetEnumerator() 2. IEnumerable.GetEnumerator()方法 (http://msdn.microsoft.com/en-us/library/19e6zeyy.aspx) 什么是#2以及我应该如何定义/实现它? 从我玩一些代码,似乎在foreach循
我注意到IEnumerable(Generics)需要实现2个方法:
1. IEnumerator< T>的GetEnumerator() 2. IEnumerable.GetEnumerator()方法 (http://msdn.microsoft.com/en-us/library/19e6zeyy.aspx) 什么是#2以及我应该如何定义/实现它? 从我玩一些代码,似乎在foreach循环中调用IEnumerator GetEnumerator(). 我正在完成配方6.1在Oreilly的C#3.0 Cookbook中创建一个泛型类型的迭代器,我收到一个错误,因为#2没有实现(它没有包含在配方代码中). 谢谢! 解决方法
第一个是通用的GetEnumerator,而第二个是非泛型的.它们在功能上做同样的工作,但非泛型只能返回一个对象类型.
实现这些的最简单方法是实现通用版本,然后为非泛型提供: IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |