【发布时间】:2013-01-11 13:41:51
【问题描述】:
这个问题可能只是对 .NET 框架缺乏了解,但实际上在接口中包含一组数据而不是仅将其包含在列表中有什么好处?到目前为止,我只使用了List<T>,它似乎做了我需要它做的事情,但是查看其他人的代码,我发现有人使用IEnumerable<T>,IQueryable/ 非常频繁IQueryable<T>、ICollection<T>,甚至是IList<T>。话虽如此,List<T> 和 IList<T> 之间还有什么区别?
我知道其中一些在包含的对象上具有不同的功能,但哪个最安全? IEnumerable?
【问题讨论】:
-
最好只使用您需要的东西。那么如果一个方法确实只使用
IList的方法和属性,为什么要强制使用List作为参数呢?请注意,Array也实现了IList。