为什么数组实现IList?

为什么数组实现IList?,第1张

为什么数组实现IList?

因为数组允许按索引快速访问,并且

IList
/
IList<T>
是唯一支持此功能的集合接口。因此,也许您真正的问题是“为什么没有索引器的常量集合的接口?” 对此,我没有答案。

也没有用于集合的只读接口。而且我想念那些超出索引器接口恒定大小的东西。

IMO应根据集合的功能,再有几个(通用)集合接口。而且名称也应该有所不同,

List
因为带有索引器的东西确实是愚蠢的IMO。

  • 只是枚举
    IEnumerable<T>
  • 只读但没有索引器(.Count,.contains等)
  • 可调整大小但没有索引器,即设置为(添加,删除等)当前
    ICollection<T>
  • 索引器(indexer,indexof,…)只读
  • 带索引器的恒定大小(带setter的索引器)
  • 带有分度器(插入,…)电流的可变大小
    IList<T>

我认为当前的收集接口设计不好。但是,由于它们具有告诉您哪些方法有效的属性(这是这些方法的约定的一部分),因此不会违反替代原理。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5499117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存