因为数组允许按索引快速访问,并且
IList/
IList<T>是唯一支持此功能的集合接口。因此,也许您真正的问题是“为什么没有索引器的常量集合的接口?” 对此,我没有答案。
也没有用于集合的只读接口。而且我想念那些超出索引器接口恒定大小的东西。
IMO应根据集合的功能,再有几个(通用)集合接口。而且名称也应该有所不同,
List因为带有索引器的东西确实是愚蠢的IMO。
- 只是枚举
IEnumerable<T>
- 只读但没有索引器(.Count,.contains等)
- 可调整大小但没有索引器,即设置为(添加,删除等)当前
ICollection<T>
- 索引器(indexer,indexof,…)只读
- 带索引器的恒定大小(带setter的索引器)
- 带有分度器(插入,…)电流的可变大小
IList<T>
我认为当前的收集接口设计不好。但是,由于它们具有告诉您哪些方法有效的属性(这是这些方法的约定的一部分),因此不会违反替代原理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)