List和IList之间的区别

时间:2011-03-16 08:14:24

标签: c# .net

  

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

List和IList有什么区别,哪一个有更好的性能,何时使用List over IList,反之亦然?

4 个答案:

答案 0 :(得分:13)

如果您通过其他人将使用的库公开您的类,您通常希望通过接口而不是具体实现来公开它。如果您决定稍后更改类的实现以使用其他具体类,这将有所帮助。在这种情况下,您的库的用户将不需要更新他们的代码,因为接口不会更改。

如果你只是在内部使用它,你可能不在乎,使用List可能没问题。

有关详情,请查看

Link

答案 1 :(得分:6)

在C#List中是IList接口的具体实现。 List是IList接口的实现。我们的想法是针对接口而不是实现进行编程。通常,您的方法应该接受并返回集合的接口。这使您自己的实现和呼叫者空间可以根据需要决定实际实现。

使用接口的好处在于,您可以实现您的功能或更好,这是您需要的唯一功能。因此,如果仅需要迭代/枚举,则不需要Sort,Add方法。

答案 2 :(得分:5)

List实施IList interface

IList是一个接口,没有任何实现,因此IList的性能取决于它实现的类

答案 3 :(得分:2)

IList是界面 - 有关详细信息,请参阅此问题 - List<T> or IList<T>