社区
C#
帖子详情
什么场景下,会自己实现这两个接口: IEnumerable IEnumerator
config_man
2014-05-13 05:48:50
IEnumerable: 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。【一个获取迭代器的方法】
IEnumerator : 支持对非泛型集合的简单迭代。【一个MoveNext、一个Current、一个Reset】
看了网上其他关联的帖子,都是写的代码,没看到实实在在的应用场景,自己开发过程中,也没遇过,所以想请问大神,什么样的场景下才会自己去实现这两个接口,来迭代非泛型集合。
...全文
199
5
打赏
收藏
什么场景下,会自己实现这两个接口: IEnumerable IEnumerator
IEnumerable: 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。【一个获取迭代器的方法】 IEnumerator : 支持对非泛型集合的简单迭代。【一个MoveNext、一个Current、一个Reset】 看了网上其他关联的帖子,都是写的代码,没看到实实在在的应用场景,自己开发过程中,也没遇过,所以想请问大神,什么样的场景下才会自己去实现这两个接口,来迭代非泛型集合。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhouxiulu
2014-05-13
打赏
举报
回复
你去把设计模式里的迭代模式看一下
threenewbee
2014-05-13
打赏
举报
回复
在C# 2.0以前,因为没有yield关键字,为了实现一个迭代器,有必要手工实现它们,参考: http://bbs.csdn.net/topics/390786969 在这个例子中,我们如果需要遍历一个字符串中的所有单词,当然有一个办法是用Split全部分割并且装入数组。但是如果我们只需要迭代出前5个单词,这么做白白浪费了内存和CPU。如果借助迭代器,我们可以按需遍历其中开头的一部分。
Ptrtoptr
2014-05-13
打赏
举报
回复
这两个接口是用来装B的,我装B的时候才用。微软喜欢搞这些一层一层的框架。
config_man
2014-05-13
打赏
举报
回复
引用 1 楼 wddw1986 的回复:
需要就用,你没用过说明你不需要。
你这是站着说话不腰疼啊。
cheng2005
2014-05-13
打赏
举报
回复
需要就用,你没用过说明你不需要。
深入理解 C# 集合
接口
:
IEnumera
ble
、
IEnumera
tor
、ICollection 与 IList 的层次与实战
本文深入剖析C#中
IEnumera
ble
、
IEnumera
tor
、ICollection与IList四大核心集合
接口
的层次关系与职责划分,强调其‘能力递进’设计哲学:
IEnumera
ble
提供延迟遍历契约,
IEnumera
tor
实现
状态化遍历执行,ICollection增加计数与增删能力,IList进一步支持索引访问。重点涵盖
接口
适用
场景
、性能特征(如O(1) Count、延迟执行风险)、最小权限API设计原则及.NET 8 Frozen Collections优化方向。
对IComparable,IComparer,
IEnumera
ble
,
IEnumera
tor
的理解
本文深入解析了C#中用于比较、排序、迭代的四个关键
接口
:IComparable、IComparer、
IEnumera
ble
和
IEnumera
tor
。详细阐述了它们的功能、使用
场景
以及在
实现
对象比较、排序和迭代时的角色。
C#每日面试题-索引器和迭代器的区别
本文深入解析C#中索引器和迭代器的本质差异:索引器是支持下标访问的属性语法糖,用于随机访问单个元素;迭代器基于
IEnumera
tor
接口
和yield关键字
实现
状态机,专用于顺序遍历集合。二者在设计目标、语法特征、底层机制(get_Item/set_Item vs 自动状态机)、
接口
依赖(无强制
接口
vs 必须
IEnumera
ble
/
IEnumera
tor
)及适用
场景
(随机访问 vs 顺序遍历)上截然不同。
C# ---
IEnumera
ble
和
IEnumera
tor
本文介绍了C#中
IEnumera
ble
和
IEnumera
tor
接口
。
IEnumera
ble
表示可迭代集合,支持foreach循环;
IEnumera
tor
实际执行迭代。二者统一了迭代方式,支持LINQ,提高代码灵活性。还对比了
IEnumera
ble
和IQueryable,说明了有
IEnumera
tor
仍需
IEnumera
ble
的原因,强调二者结合可
实现
状态隔离和并发安全。
IEnumera
ble
与
IEnumera
tor
区别
本文详细解释了
IEnumera
ble
与
IEnumera
tor
两个
接口
的区别,通过代码示例展示了如何使用它们
实现
集合的枚举功能,并总结了它们的主要作用及使用
场景
。
C#
111,129
社区成员
642,533
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章