任何人都可以告诉我什么时候应该使用它。
例如,我想当我想访问集合的.Count或单个项目时,我应该使用IList,对吗?
谢谢。
答案 0 :(得分:60)
一般来说,您应该尝试使用最适合您目的的特定类型。 IEnumerable
的具体情况不如IList
(IList
实施IEnumerable
),所以除非您想要IList
特定的内容(例如Count
, ,或者Add
,Delete
等),我会使用IEnumerable
。
保留IEnumerable
的一个好处是你可以编写迭代器方法来返回这个类型(查看“yield return”和迭代器方法,如果你不熟悉它们)。这允许您为循环编写非常节省内存的“管道”。
答案 1 :(得分:22)
当您想要遍历集合中的项目时,可以使用IEnumerable。
IList是您想要无序添加,删除和访问列表内容的时间。
IList vs IEnumerable for Collections on Entities
http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=722
答案 2 :(得分:6)
当您需要通过索引访问集合,添加和删除元素等时,您应该使用 IList ,当您需要枚举您的集合时, IEnumerable 。
一个非常简单的答案,如果你要描述你的情景,我可以扩展它。