IEnumerable <T>与IReadOnlyList <T>

拉梅什

选择IEnumerable<T>IReadOnlyList<T>作为返回参数类型还是输入参数类型有什么区别

IEnumerable<T>提供.Count.ElementAt这是暴露的IReadOnlyList<T>

克里斯·塔瓦雷斯

IEnumerable<T>表示某些数据上的仅前向光标。您可以从收藏的开始到结尾,一次查看一个项目。

IReadOnlyList<T> 表示可读的随机访问集合。

IEnumerable<T>更笼统地说,它可以表示动态生成的项目,通过网络传入的数据,来自数据库的行等IReadOnlyList<T>,而另一方面,它基本上仅表示内存中的集合。

如果您只需要按顺序查看每个项目一次,那IEnumerable<T>是更好的选择-它更通用。

我建议实际查看C ++标准模板库-他们对各种类型的迭代器的讨论实际上很好地映射了您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么List <T>实现IReadOnlyList <T>接口?

来自分类Dev

为什么IList <T>不继承自IReadOnlyList <T>?

来自分类Dev

List <T>与IEnumerable <T>

来自分类Dev

List <T>与IEnumerable <T>

来自分类Dev

用ienumerable <T>实现ienumerable

来自分类Dev

无法从IEnumerable <T>转换为IEnumerable <T>

来自分类Dev

LINQ IEnumerable <T []>到IEnumerable <T>

来自分类Dev

从 IEnumerable<IEnumerable<T>> 中删除重复的 IEnumerable<T>

来自分类Dev

正确使用IEnumerable <T>

来自分类Dev

如何实现IEnumerable <T>?

来自分类Dev

连接多个IEnumerable <T>

来自分类Dev

IEnumerable为T []的数组

来自分类Dev

IEnumerable <T>与数组

来自分类Dev

分区IEnumerable <T>结果

来自分类Dev

IEnumerable <T>合并

来自分类Dev

使用通用IEnumerable <T>

来自分类Dev

有没有办法通过protobuf-net使用IReadOnlyCollection <T> / IReadOnlyList <T>

来自分类Dev

根据IEnumerable <string>过滤IEnumerable <T>

来自分类Dev

根据IEnumerable <string>过滤IEnumerable <T>

来自分类Dev

从IEnumerable <T>到IEnumerable <Quantity <T >>中选择

来自分类Dev

将IObservable <IEnumerable <T >>转换为IEnumerable <IObservable <T >>

来自分类Dev

将IEnumerable <T>项目添加到IEnumerable <T>

来自分类Dev

C#:从IEnumerable <IEnumerable <T >>获取不同的T

来自分类Dev

将IObservable <IEnumerable <T >>转换为IEnumerable <IObservable <T >>

来自分类Dev

从IEnumerable <T>到IEnumerable <Quantity <T >>中选择

来自分类Dev

在模型中过滤IEnumerable <T>

来自分类Dev

从IEnumerable <T>派生的接口的DisplayNameFor

来自分类Dev

IEnumerable <T>上的递延订单

来自分类Dev

Custom extension methods on IEnumerable<T>