谁能告诉我什么时候应该使用。
例如,当我想访问集合或单个项目的 .Count 时,我认为应该使用 IList,对吗?
谢谢你。
一般来说,您应该尝试使用适合您目的的最不具体的类型。IEnumerable
比IList
( IList
implements IEnumerable
) 更具体,所以除非你想要一些特定的东西IList
(比如Count
你建议的,或者也许Add
,Delete
等),否则我会使用IEnumerable
.
保留的一个好处IEnumerable
是您可以编写迭代器方法来返回这种类型(如果您不熟悉它们,请查找“yield return”和迭代器方法)。这使您可以为循环编写非常节省内存的“管道”。
当您想要循环访问集合中的项目时,您可以使用 IEnumerable。
IList 是当您想要添加、删除和访问无序的列表内容时。
http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=722
当您需要通过索引访问您的集合、添加和删除元素等时,您应该使用IList ,而当您只需要枚举您的集合时,您应该使用IEnumerable 。
一个非常简单的答案,如果您描述您的场景,我可以扩展它。