List和IList之间的区别

Max*_*mus 45 .net c#

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

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

Dor*_*eka 15

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

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

有关更多信息,请查看

链接

  • 从链接复制的答案!至少参考作者. (8认同)
  • @tm1rbrt我在链接中提到了这一点 (5认同)

Has*_*zar 7

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

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


Ars*_*yan 5

List实现IList接口

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