深入研究 IList 的数组实现:理解基本原理
C# 中的 System.Array 类表现出一个独特的特征:它实现了 IList界面。虽然这个概念表面上看起来很简单,但在数组上调用 IList 方法的实用性可能会引起问题。本文旨在解决此实现背后的根本原因,而不是关注调用某些方法时出现的异常。
揭示原理
原因的答案Array 实现 IList 在于数组的固有功能。数组通过索引提供了非常快速的访问,这是其他集合接口不提供的功能。因此,IList/IList
对界面设计提出质疑
缺乏专门为带有索引器的常量集合定制的界面引发了进一步的疑问。不幸的是,目前无法提供明确的答复。此外,缺乏集合的只读接口也是一个值得注意的遗漏,值得考虑。
重新评估界面设计
在理想的情况下,一套全面的(通用)集合接口将存在,每个接口都迎合特定的集合功能。术语也应该修改,因为对索引集合使用术语“列表”似乎违反直觉。潜在的替代层次结构可能包括:
解决接口限制
虽然当前的集合接口可能达不到理想的效果,但它们通过声明有效方法来遵守替换原则通过属性,从而保持接口的完整性。
以上是为什么 C# `System.Array` 类实现 `IList` 接口?的详细内容。更多信息请关注PHP中文网其他相关文章!