当方法返回IEnumerable<T>
并且我没有任何要返回的内容时,我们可以使用Enumerable.Empty<T>()
。Enumerable.Empty <T>()等价于IQueryable
是否有相当于上面返回IQueryable<T>
当方法返回IEnumerable<T>
并且我没有任何要返回的内容时,我们可以使用Enumerable.Empty<T>()
。Enumerable.Empty <T>()等价于IQueryable
是否有相当于上面返回IQueryable<T>
可能:
Enumerable.Empty<T>().AsQueryable();
尝试return new T[0].AsQueryable();
@Nauman - 实际上创建了[空] T,阵 - T的没有新对象实际创建。 – FriendlyGuy 2014-02-20 15:56:18
Enumerable.Empty<T>().AsQueryable();
应该这样做的方法。
假设你有一个名为IQueryable<T>
result
:
return result.Take(0);
我知道,目前这是唯一的简单,直接和肮脏的;-)解决方案 – Nauman 2010-04-23 11:04:17
不幸的是,不会创建一个实际的空的IQueryable,这意味着它会导致例如'Union'查询被分解成多个查询而不是一个查询。 – NetMage 2017-05-22 23:11:25