服务器性能-数据库访问查询结果:List <>或IEnumerable <>?

时间:2018-08-16 18:25:27

标签: c# performance sockets business-logic

我正在使用WebSocketSharp库在ASP.NET服务器上运行套接字。

服务器端套接字必须访问数据库,因此它返回项的集合。

当前,我在数据访问层上,方法从数据库返回List<>类型:

async Task<List<object>> GetListOfItems();

我想知道一个可枚举的实现方式在性能方面是否会更快 以及便宜

还,他们也应该async打电话吗?

1 个答案:

答案 0 :(得分:1)

通过中介,列表是IEnumerable-如果您浏览参考源:

  

公共类List:IList,System.Collections.IList,IReadOnlyList

一个IList是:

  

公共接口IList:ICollection

并且:

  

公共接口ICollection:IEnumerable

实际上,它们在实际使用它们时是相同的,并且速度差异将完全取决于您在做什么。

如果您想知道最快的方法,请进行测试! 为此,System.Diagnostics中有一个秒表类。

来源:which is Faster? IEnumerable or List With Example.