When writing a query using C# LINQ syntax, is there a way to use the Queryable.SelectMany method from the keyword syntax?
For
string[] text = { "Albert was here",
"Burke slept late",
"Connor is happy" };
Using fluent methods I could query
var tokens = text.SelectMany(s => s.Split(' '));
Is there a query syntax akin to
var tokens = from x in text selectmany s.Split(' ')
Yes, you just repeat the from ... in clause:
var words = from str in text
from word in str.Split(' ')
select word;
You can use a Compound from Clause:
var tokens = from s in text
from x in s.Split(' ')
select x;
Your query would be re-written as:
var tokens = from x in text
from z in x.Split(' ')
select z;
Here's a good page that has a couple of side-by-side examples of Lambda and Query syntax:
来源:https://stackoverflow.com/questions/6414816/is-there-a-c-sharp-linq-syntax-for-the-queryable-selectmany-method