<分区>
我希望从一个方法中返回一个有序的项目列表。我的返回类型应该是 IEnumerable 还是 IList?
<分区>
我希望从一个方法中返回一个有序的项目列表。我的返回类型应该是 IEnumerable 还是 IList?
最佳答案
这里有一个层次:
interface IList<T> : ICollection<T> { }
interface ICollection<T> : IEnumerable<T> { }
您想以尽可能少的耦合为目标,因此返回 IEnumerable<T>
如果足够的话。它可能会。
返回 IList<T>
如果情况需要调用者获得一个可用于添加/插入/删除的列表。但即便如此,如果调用者从 IEnumerable 集合中创建自己的 List 可能会更好。
关于c# - 我应该返回 IEnumerable 还是 IList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3180658/