Czy istnieje składnia C # LINQ dla Queryable.Metoda SelectMany ()?

Podczas pisania zapytania przy użyciu składni C# LINQ, czy istnieje sposób na użycie Queryable.SelectMany metoda ze składni słowa kluczowego?

Dla

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

Używając płynnych metod mogę odpytywać

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

Czy istnieje składnia zapytania podobna do

var tokens = from x in text selectmany s.Split(' ')
Author: BrianCooksey, 2011-06-20

3 answers

Tak, po prostu powtórz od ... w klauzuli:

var words = from str in text
            from word in str.Split(' ')
            select word;
 100
Author: driis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-20 17:05:59

Możesz użyć związku z klauzuli :

var tokens = from s in text
             from x in s.Split(' ')
             select x;
 18
Author: dtb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-20 17:06:15

Twoje zapytanie zostanie zapisane jako:

var tokens = from x in text
             from z in x.Split(' ')
             select z;

Oto dobra strona, która ma kilka obok siebie przykładów Lambda i składni zapytań:

Select Many Operator Part 1 - Zeeshan Hirani

 14
Author: Justin Niessner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-20 17:06:39