Queryable.SelectMany () 메서드에 대한 C # LINQ 구문이 있습니까?


88

C # LINQ 구문을 사용하여 쿼리를 작성할 때 키워드 구문에서 Queryable.SelectMany 메서드를 사용하는 방법이 있습니까?

에 대한

string[] text = { "Albert was here", 
                  "Burke slept late", 
                  "Connor is happy" };

유창한 방법을 사용하여 쿼리 할 수 ​​있습니다.

var tokens = text.SelectMany(s => s.Split(' '));

유사한 쿼리 구문이 있습니까?

var tokens = from x in text selectmany s.Split(' ')

이 예제는 약간의 개선이 필요합니다 ...하지만 기본적인 요점을 이해한다고 생각합니다. 더 나은 예를 자유롭게 제안하십시오.
BrianCooksey 2011-06-20

답변:


126

예, from ... in 절을 반복합니다.

var words = from str in text
            from word in str.Split(' ')
            select word;

4
@BCooksey-예 ... 첫 번째 결과 안에 중첩 된 컬렉션에서 선택하기 때문입니다.
Justin Niessner 2011-06-20

3
이러한 모든 호출은 매우 유연한 SelectMany에 의해 서비스 될 수 있지만 컴파일러는 쿼리의 형식에 따라 Select, SelectMany 및 변환 없음 중에서 선택합니다
Sprague


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.