List
C# 提供 List<T>
和 IList<T>
来管理对象集合。虽然看似相似,但它们的差异极大地影响了代码设计。
什么时候喜欢IList<T>
在设计供外部使用的库时,使用接口而不是具体实现至关重要。 IList<T>
提供了这种抽象。 稍后切换底层集合类型(例如,从 List<T>
到 LinkedList<T>
)不会破坏外部代码,只要新类型实现 IList<T>
.
内部考虑
对于内部代码,选择似乎不太重要。 如果不担心外部暴露,List<T>
可能就足够了。然而,最初采用 IList<T>
是一种很好的做法,可以防止未来的变化和潜在的外部库集成。
为什么要避免直接暴露List<T>
直接暴露List<T>
会在你的类和它的消费者之间创建紧密的耦合。 稍后更改底层集合类型(例如,出于性能原因)将需要更新所有相关代码。 使用 IList<T>
隐藏实现细节并促进松散耦合。
以上是C# 中的 List 与 IList:什么时候应该选择 IList?的详细内容。更多信息请关注PHP中文网其他相关文章!