为啥 Enumerable 不实现 IEnumerable?
Posted
技术标签:
【中文标题】为啥 Enumerable 不实现 IEnumerable?【英文标题】:Why Enumerable does not implement IEnumerable?为什么 Enumerable 不实现 IEnumerable? 【发布时间】:2020-05-18 17:13:54 【问题描述】:我正在查看 .Net 框架的元数据,试图理解集合,我看到集合实现了 IEnumerable
和 IEnumerable<T>
。
然后我查看了Enumerable
,发现它提供了一组静态方法,用于查询实现IEnumerable
的对象。
我的问题是,为什么Enumerable
没有实现IEnumerable
?
或者换句话说,既然它没有实现IEnumerable,为什么要这样命名?
提前感谢您的帮助!
【问题讨论】:
您希望实现返回什么? 【参考方案1】:Enumerable 提供了一组静态方法
Enumerable
也是一个静态类。
如果发生了会发生什么?
代码无法编译 - static
类无法实现接口。我同意您所期望的命名约定。但是你去吧。
【讨论】:
感谢您的回答!是的,没错,命名让我感到困惑。以上是关于为啥 Enumerable 不实现 IEnumerable?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Enumerable.Range 实现 IDisposable?
为啥不推荐使用 Enumerable#each_with_object ?
为啥 Enumerable 中的方法返回 Enumerator?