Существует ли синтаксис C # LINQ для метода Queryable.SelectMany ()? - PullRequest
78 голосов
/ 20 июня 2011

При написании запроса с использованием синтаксиса 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(' ')

Ответы [ 3 ]

109 голосов
/ 20 июня 2011

Да, вы просто повторяете предложение from ... in:

var words = from str in text
            from word in str.Split(' ')
            select word;
18 голосов
/ 20 июня 2011

Вы можете использовать соединение из пункта :

var tokens = from s in text
             from x in s.Split(' ')
             select x;
14 голосов
/ 20 июня 2011

Ваш запрос будет переписан как:

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

Вот хорошая страница с несколькими примерами синтаксиса Lambda и Query:

Выбор многих операторов Часть 1 - Зеешан Хирани

...