回答:
試す return new T[0].AsQueryable();
これはまだメモリを使用して空の配列を作成するため、alejandrobogの回答はお勧めしません。
Array.Empty<T>().AsQueryable();
または
Enumerable.Empty<T>().AsQueryable();
優先されます。Array.Emptyは静的型付き配列を割り当てるため、Tの空の配列が1つだけ作成され、それがすべての空のクエリ可能オブジェクト間で共有されます。
Array.Empty<T>
.NET Framework 4.6以降でのみ使用できます。以前のバージョンでは、次を使用できますnew object[0].Cast<T>()