c# - 返回 ICollection<T> 而不是 List<T> 的真正优势是什么?

标签 c# .net ienumerable icollection

<分区>

我读过几篇博文,其中提到对于公共(public) API,我们应该始终返回 ICollection(或 IEnumerable)而不是 List。返回 ICollection 而不是 List 的真正优势是什么?

谢谢!

重复:What is the difference between List (of T) and Collection(of T)?

最佳答案

枚举器在您遍历它时一次只返回一个实体。这是因为它使用了 yield 返回。另一方面,集合返回整个列表,要求列表完全存储在内存中。

简短的回答是枚举器更轻便、更高效。

关于c# - 返回 ICollection<T> 而不是 List<T> 的真正优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/426182/

相关文章:

c# - 为什么 ICollection<T> 同时实现 IEnumerable<T> 和 IEnumerable

c# - 在 C# 中使用 OLEDB 读取受密码保护的 excel 文件

c# - 如何从对象列表填充 TreeView

c# - 错误 :The preLaunchTask 'build' terminated with exit code 1

java - 值得信赖的开发人员撰写有关 Java 和 .NET 的文章?

c# - 按日期排序文件

c# - 在迭代器的 finally block 中获取对异常的引用

c# - c#中的引用类型和值类型有什么区别?

c# - 使用 C# .net 检测进程已在 Windows 中运行

wpf - 将IEnumerable <T>与ObservableCollection <T>包装在一起