Gdy metoda zwraca IEnumerable<T>
i nie mam nic do zwrócenia, możemy użyć Enumerable.Empty<T>()
.
Czy istnieje odpowiednik powyższego dla zwracanej metody IQueryable<T>
c#
return
iqueryable
Numan
źródło
źródło
Union
Zapytania są dzielone na wiele zapytań zamiast jednego.Enumerable.Empty<T>().AsQueryable();
powinien to zrobić.źródło
Próbować
return new T[0].AsQueryable();
źródło
Powiedz, że masz
IQueryable<T>
wezwanieresult
:return result.Take(0);
źródło
Odradzałbym odpowiedź alejandroboga, ponieważ nadal będzie ona wykorzystywać pamięć do tworzenia pustej tablicy.
lub
są preferowane. Array.Empty przydzieli statyczną tablicę o typie statycznym, więc utworzona zostanie tylko jedna pusta tablica T, która jest współdzielona przez wszystkie Empty queryables.
źródło
Array.Empty<T>
jest dostępny tylko po .NET Framework 4.6. W przypadku wcześniejszych wersji możesz użyćnew object[0].Cast<T>()