是否有Queryable.SelectMany()方法的C#LINQ语法?

时间:2011-06-20 17:04:30

标签: c# linq keyword iqueryable

使用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 个答案:

答案 0 :(得分:107)

是的,你只需重复from ... in子句:

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

答案 1 :(得分:18)

您可以使用Compound from Clause

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

答案 2 :(得分:14)

您的查询将被重写为:

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

这是一个很好的页面,其中包含几个Lambda和Query语法的并排示例:

Select Many Operator Part 1 - Zeeshan Hirani