¿Existe una sintaxis de C # LINQ para el método Queryable.SelectMany ()?

88

Al escribir una consulta utilizando la sintaxis de C # LINQ, ¿hay alguna forma de utilizar el método Queryable.SelectMany de la sintaxis de palabras clave?

por

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

Usando métodos fluidos pude consultar

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

¿Existe una sintaxis de consulta similar a

var tokens = from x in text selectmany s.Split(' ')
BrianCooksey
fuente
el ejemplo necesita algunas mejoras ... pero sospecho que transmite el punto básico. No dude en sugerir mejores ejemplos.
BrianCooksey

Respuestas:

126

Sí, simplemente repita la cláusula from ... in:

var words = from str in text
            from word in str.Split(' ')
            select word;
driis
fuente
4
@BCooksey - Sí ... porque está seleccionando de una colección anidada dentro del primer resultado.
Justin Niessner
3
Todas estas llamadas podrían ser atendidas por SelectMany, que es enormemente flexible, pero el compilador elegirá entre Select, SelectMany e incluso ninguna transformación, dependiendo de la forma de la consulta
Sprague