可能重复:
C# - List<T> or IList<T>
我正在研究解决方案已经注意到有很多IList正在实施。 只是想知道,当你可以使用List时,使用IList有什么意义?
答案 0 :(得分:1)
因为某些集合可能从IList继承而不是从List,ObservableCollection继承,例如。
答案 1 :(得分:1)
如果您不想继承List
并且只想实现接口,请使用IList
。
也许您想要返回一个支持IList
的对象,但实现对调用者来说是无关紧要的?
在你的情况下,实施IList
可能会导致不必要的打字,这可能是正确的事情,我不知道没有更多的信息。
答案 2 :(得分:1)
您应该尽可能地尝试使用interface
,以便用户可以更灵活地使用他们使用的实现。一般来说,IEnumerable
和IQueryable
甚至比IList
更好,因为它们更通用,除非您想以合理的理由限制这一点。