Quando um método retorna IEnumerable<T>
e eu não tenho nada para retornar, podemos usá-lo Enumerable.Empty<T>()
.
Existe um equivalente ao acima para um método retornando IQueryable<T>
c#
return
iqueryable
Numan
fonte
fonte
Union
consultas são divididas em várias consultas em vez de uma.Enumerable.Empty<T>().AsQueryable();
deve fazê-lo.fonte
Experimentar
return new T[0].AsQueryable();
fonte
Digamos que você tenha
IQueryable<T>
chamadoresult
:fonte
Eu desaconselharia a resposta de alejandrobog, pois isso ainda usará memória para criar uma matriz vazia.
ou
são preferidos. Array.Empty alocará uma matriz de tipo estático, para que apenas uma matriz vazia de T seja criada e compartilhada entre todas as consultas vazias.
fonte
Array.Empty<T>
está disponível apenas após o .NET Framework 4.6. Para versões anteriores, você pode usarnew object[0].Cast<T>()