Enumerable.Empty <T>()はIQueryableと同等


130

メソッドが返りIEnumerable<T>、返すものが何もない場合は、を使用できますEnumerable.Empty<T>()

返すメソッドに上記と同等のものはありますか IQueryable<T>

回答:


206

多分:

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

2
私は知っています、現在それが唯一の単純で直接的な汚い;-)ソリューションです
Numan

7
残念ながら、これは実際の空のIQueryableを作成しません。これは、たとえばUnionクエリが1つではなく複数のクエリに分割されることを意味します。
NetMage




1

これはまだメモリを使用して空の配列を作成するため、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>()
TZU
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.