使用List <t>与IList <t> </t> </t>

时间:2013-01-11 13:41:51

标签: c# asp.net .net

  

可能重复:
  When to use IList and when to use List

这个问题可能只是缺乏对.NET框架的理解,但实际在界面中拥有一组数据而不仅仅是在列表中有什么好处?到目前为止,我只使用了List<T>,它似乎完全按照我的需要去做,但是看看其他人的代码,我发现有人使用IEnumerable<T>是很常见的, IQueryable / IQueryable<T>ICollection<T>,甚至是IList<T>。话虽如此,List<T>IList<T>之间的区别是什么?

据我所知,其中一些对所包含的对象有不同的功能,但哪个最安全? IEnumerable

1 个答案:

答案 0 :(得分:3)

如果将类型设置为接口类型,则可以使用实现IList<T>任何类型。

如果您使用List<T>,则只能使用从中继承的类型和类型。

这取决于使用情况 - 如果您只需要迭代,请使用IEnumerable<T>,如果您还需要添加/删除项目,请使用ICollection<T>。如果您需要索引集合,请使用IList<T>等...