C#使用IList而不是List

时间:2011-07-27 09:06:09

标签: c# list ilist

  

可能重复:
  C# - List<T> or IList<T>

我正在研究解决方案已经注意到有很多IList正在实施。 只是想知道,当你可以使用List时,使用IList有什么意义?

3 个答案:

答案 0 :(得分:1)

因为某些集合可能从IList继承而不是从List,ObservableCollection继承,例如。

答案 1 :(得分:1)

如果您不想继承List并且只想实现接口,请使用IList

也许您想要返回一个支持IList的对象,但实现对调用者来说是无关紧要的?

在你的情况下,实施IList可能会导致不必要的打字,这可能是正确的事情,我不知道没有更多的信息。

答案 2 :(得分:1)

您应该尽可能地尝试使用interface,以便用户可以更灵活地使用他们使用的实现。一般来说,IEnumerableIQueryable甚至比IList更好,因为它们更通用,除非您想以合理的理由限制这一点。