IQueryable과 동등한 Enumerable.Empty <T> ()


130

메소드가 리턴 IEnumerable<T>되고 리턴 할 것이 없으면을 사용할 수 있습니다 Enumerable.Empty<T>().

반환하는 메소드에 대해 위와 동등한 것이 있습니까? IQueryable<T>

답변:


206

아마도:

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

2
나는 그것이 유일하게 단순하고 직접적이고 더러운 ;-) 솔루션이라는 것을 알고있다
Numan

7
불행히도 실제 빈 IQueryable을 만들지 않으므로 Union쿼리가 여러 쿼리로 나뉘어집니다.
NetMage

34

Enumerable.Empty<T>().AsQueryable(); 해야합니다.




1

나는 여전히 메모리를 사용하여 빈 배열을 생성하므로 alejandrobog의 대답에 대해 조언하지 않을 것입니다.

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

또는

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

선호됩니다. Array.Empty는 정적 형식의 배열을 할당하므로 하나의 빈 배열 T 만 만들어지고 모든 빈 쿼리 가능 항목에서 공유됩니다.


Array.Empty<T>.NET Framework 4.6 이후에만 사용할 수 있습니다. 이전 버전의 경우 다음을 사용할 수 있습니다.new object[0].Cast<T>()
TZU
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.