Enumerable.Empty <t>()等效于IQueryable </t>

时间:2010-04-22 13:54:26

标签: c# return iqueryable

当方法返回IEnumerable<T>并且我没有任何要返回的内容时,我们可以使用Enumerable.Empty<T>()

对于返回IQueryable<T>

的方法,是否存在与上述相同的内容

5 个答案:

答案 0 :(得分:194)

也许:

Enumerable.Empty<T>().AsQueryable();

答案 1 :(得分:33)

Enumerable.Empty<T>().AsQueryable();应该这样做。

答案 2 :(得分:8)

尝试return new T[0].AsQueryable();

答案 3 :(得分:1)

假设您有一个名为IQueryable<T>的{​​{1}}:

result

答案 4 :(得分:1)

我建议不要使用alejandrobog的答案,因为这仍将使用内存来创建一个空数组。

Array.Empty<T>().AsQueryable();

Enumerable.Empty<T>().AsQueryable();

是首选。 Array.Empty将分配一个静态类型数组,因此仅创建一个T的空数组,并在所有Empty可查询对象之间共享。