Queryable.SelectMany()メソッドのC#LINQ構文はありますか?


88

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(' ')

この例には改善が必要です...しかし、基本的なポイントは理解できていると思います。より良い例を自由に提案してください。
BrianCooksey 2011年

回答:


126

はい、from ... in句を繰り返すだけです。

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

4
@ BCooksey-はい...最初の結果内にネストされたコレクションから選択しているためです。
Justin Niessner 2011年

3
これらの呼び出しはすべて、非常に柔軟なSelectManyによって処理できますが、コンパイラーは、クエリの形式に応じて、Select、SelectMany、または変換なしのいずれかを選択します
Sprague


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.