选择IEnumerable<T>
与IReadOnlyList<T>
作为返回参数类型还是输入参数类型有什么区别?
IEnumerable<T>
提供.Count
,.ElementAt
这是暴露的IReadOnlyList<T>
IEnumerable<T>
表示某些数据上的仅前向光标。您可以从收藏的开始到结尾,一次查看一个项目。
IReadOnlyList<T>
表示可读的随机访问集合。
IEnumerable<T>
更笼统地说,它可以表示动态生成的项目,通过网络传入的数据,来自数据库的行等IReadOnlyList<T>
,而另一方面,它基本上仅表示内存中的集合。
如果您只需要按顺序查看每个项目一次,那IEnumerable<T>
是更好的选择-它更通用。
我建议实际查看C ++标准模板库-他们对各种类型的迭代器的讨论实际上很好地映射了您的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句