Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 可枚举。空<;T>;()相当于iquiryable_C#_Return_Iqueryable - Fatal编程技术网

C# 可枚举。空<;T>;()相当于iquiryable

C# 可枚举。空<;T>;()相当于iquiryable,c#,return,iqueryable,C#,Return,Iqueryable,当一个方法返回IEnumerable而我没有任何东西要返回时,我们可以使用Enumerable.Empty() 对于返回IQueryable

当一个方法返回
IEnumerable
而我没有任何东西要返回时,我们可以使用
Enumerable.Empty()


对于返回
IQueryable
returnnew T[0].AsQueryable()的方法,是否有与上述相同的方法

可枚举.Empty().AsQueryable()应该这样做。

也许:

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

假设您有一个名为
结果的
IQueryable

return result.Take(0);

我建议不要使用alejandrobog的答案,因为这仍然会使用内存来创建空数组

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

Enumerable.Empty().AsQueryable();

优先考虑。Array.Empty将分配一个静态类型的数组,因此只创建一个T的空数组,并在所有空查询文件中共享。

我知道,目前这是唯一简单、直接和脏的;-)解决方案不幸的是,这不会创建实际的空IQueryable,这意味着它会导致例如
Union
查询被分解为多个查询,而不是一个查询。@NetMage没错。更令人困惑的是,您的代码没有在
Union
所在的行中中断,但可能是在您尝试之后。这个答案是被接受和投票的,但它可能是非常误导的@阳光请考虑编辑您的答案。这个问题的答案帮助了我:。@Nauman-你实际上创建了一个[empty]T数组-实际上没有创建新的T对象。
array.empty
仅在.NET Framework 4.6之后可用。对于早期版本,可以使用
新对象[0].Cast()
Enumerable.Empty<T>().AsQueryable();