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 du mot clé?
Pour
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(' ')
c#
linq
keyword
iqueryable
BrianCooksey
la source
la source
Réponses:
Oui, répétez simplement la clause from ... in:
var words = from str in text from word in str.Split(' ') select word;
la source
Vous pouvez utiliser un composé de la clause :
var tokens = from s in text from x in s.Split(' ') select x;
la source
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 la syntaxe Lambda et de la requête:
Sélectionnez plusieurs opérateurs, partie 1 - Zeeshan Hirani
la source