【发布时间】:2010-07-12 12:58:29
【问题描述】:
谁能告诉我什么时候应该使用。
例如,当我想访问集合或单个项目的 .Count 时,我认为应该使用 IList,对吗?
谢谢。
【问题讨论】:
标签: c# ienumerable ilist
谁能告诉我什么时候应该使用。
例如,当我想访问集合或单个项目的 .Count 时,我认为应该使用 IList,对吗?
谢谢。
【问题讨论】:
标签: c# ienumerable ilist
一般来说,您应该尝试使用适合您目的的最不具体的类型。 IEnumerable 不如 IList 特定(IList 实现 IEnumerable)所以除非你想从 IList 得到特定的东西(如你建议的 Count,或者可能是 Add、Delete 等),我会使用IEnumerable。
保留IEnumerable 的一个好处是您可以编写迭代器方法来返回此类型(如果您不熟悉“yield return”和迭代器方法,请查看它们)。这允许您为循环编写非常节省内存的“管道”。
【讨论】:
当您想要遍历集合中的项目时,您可以使用 IEnumerable。
IList 是当您想要添加、删除和访问乱序的列表内容时。
IList vs IEnumerable for Collections on Entities
http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=722
【讨论】:
当您需要通过索引访问您的集合、添加和删除元素等时,您应该使用 IList,当您只需要枚举您的集合时,您应该使用 IEnumerable。
一个非常简单的答案,如果你能描述你的场景,我可以扩展它。
【讨论】: