当方法返回IEnumerable<T>
并且我没有任何要返回的内容时,我们可以使用Enumerable.Empty<T>()
。
对于返回IQueryable<T>
答案 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可查询对象之间共享。