使用列表<;T>;与IList<;T>;

本文关键字:gt lt IList 列表 | 更新日期: 2023-09-27 17:52:14

可能重复:
何时使用IList以及何时使用List

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

我知道它们中的一些对所包含的对象具有不同的功能,但哪种最安全?IEnumerable

使用列表<;T>;与IList<;T>;

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

如果使用List<T>,则只能使用该类型以及从其继承的类型。

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