web-dev-qa-db-fra.com

Existe-t-il une syntaxe C # LINQ pour la méthode Queryable.SelectMany ()?

Lors de l'écriture d'une requête à l'aide de la syntaxe C # LINQ, existe-t-il un moyen d'utiliser la méthode Queryable.SelectMany à partir de la syntaxe des mots clés?

For

string[] text = { "Albert was here", 
                  "Burke slept late", 
                  "Connor is happy" };

En utilisant des méthodes fluides, je pourrais interroger

var tokens = text.SelectMany(s => s.Split(' '));

Existe-t-il une syntaxe de requête semblable à

var tokens = from x in text selectmany s.Split(' ')
78
BrianCooksey

Oui, vous répétez simplement le from ... dans la clause:

var words = from str in text
            from Word in str.Split(' ')
            select Word;
110
driis

Vous pouvez utiliser un composé de la clause :

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

Votre requête serait réécrite comme suit:

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

Voici une bonne page qui contient quelques exemples côte à côte de syntaxe Lambda et Query:

Sélectionnez plusieurs opérateurs partie 1 - Zeeshan Hirani

14
Justin Niessner