使用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(' ')
答案 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语法的并排示例: