c# - 服务器性能 - 数据库访问查询结果:List<> 还是 IEnumerable<>?
问题描述
我正在使用该WebSocketSharp
库在 ASP.NET 服务器上运行一个套接字。
服务器端套接字必须访问数据库,因此它返回项目的集合。
目前,我在数据访问层,方法List<>
从数据库返回类型:
async Task<List<object>> GetListOfItems();
我想知道一个可枚举的实现是否会更快并且在性能方面也很便宜。
另外,它们也应该被async
调用吗?
解决方案
List 是一个 IEnumerable,通过中介 - 如果您浏览参考源:
公共类列表:IList、System.Collections.IList、IReadOnlyList
IList 是:
公共接口 IList : ICollection
和:
公共接口 ICollection : IEnumerable
因此,实际上在实际使用它们时它们是相同的,并且速度差异将取决于您正在做什么。
如果你想知道什么是最快的,那就测试一下吧!System.Diagnostics 中有一个 Stopwatch 类就是为了这个目的。
推荐阅读
- r - R - 加入列后ggplotly抛出错误
- javascript - (Javascript 和 Html)函数执行另一个未被告知执行的函数
- c# - C# Parallel Foreach 重复方法
- ios - 有没有更好的方法来排除 tvOS 的 navigationBarTitle?
- ios - 如何在下一个屏幕的自定义表格视图单元格中显示多个选定的行
- html - 图片标题和列表的CSS溢出问题
- javascript - 如何使用三元运算符在渲染函数中显示反应变量
- github - Nuget Push 总是返回 404(未找到)
- bash - 如何使用 CGI 和 BASH 检索 HTTP 请求标头
- oracle - 错误没有足够的值在 Oracle SQL 中插入数据