【发布时间】:2016-10-06 08:58:20
【问题描述】:
在某些情况下,我必须在方法中返回一个空的项目列表。
大多数情况下,我会返回一个IEnumerable<T>,所以Enumerable.Empty<T>() 完全可以完成这项工作。
但我有一种情况,我必须绝对返回一个 IList<T> 实例(我们可以使用 IEnumerable,但这会导致代码效率低得多)。
我没有找到IList 的等效项。我可以完美地想象为空列表创建自己的 Singleton 提供程序,但我想知道我是否错过了什么?
【问题讨论】:
-
你为什么说代码效率会低?
-
返回新列表
() -
@Vignesh.N 因为我通常会有很多项目,而且我必须从列表中删除其中的一些,所以这意味着我必须从 IEnumerable 创建一个 List 到开始使用。
-
@heinzbeinz 和@TimSchmelter:目标不是必须在每个案例上都创建这个对象,而是要有一个可以重复使用的空对象,比如
Enumerable.Empty<T>()。
标签: c# .net list ienumerable