Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans une expression de requête, il est parfois utile de stocker le résultat d’une sous-expression afin de l’utiliser dans les clauses suivantes. Pour ce faire, vous pouvez utiliser le let mot clé, qui crée une variable de plage et l’initialise avec le résultat de l’expression que vous fournissez. Une fois initialisée avec une valeur, la variable de plage ne peut pas être utilisée pour stocker une autre valeur. Toutefois, si la variable de plage contient un type interrogeable, elle peut être interrogée.
Exemple :
Dans l’exemple let suivant, il est utilisé de deux façons :
Pour créer un type énumérable qui peut lui-même être interrogé.
Pour permettre à la requête d’appeler
ToLowerune seule fois sur la variablewordde plage. Sans utiliserlet, vous devrez appelerToLowerchaque prédicat dans lawhereclause.
class LetSample1
{
static void Main()
{
string[] strings =
[
"A penny saved is a penny earned.",
"The early bird catches the worm.",
"The pen is mightier than the sword."
];
// Split the sentence into an array of words
// and select those whose first letter is a vowel.
var earlyBirdQuery =
from sentence in strings
let words = sentence.Split(' ')
from word in words
let w = word.ToLower()
where w[0] == 'a' || w[0] == 'e'
|| w[0] == 'i' || w[0] == 'o'
|| w[0] == 'u'
select word;
// Execute the query.
foreach (var v in earlyBirdQuery)
{
Console.WriteLine($"\"{v}\" starts with a vowel");
}
}
}
/* Output:
"A" starts with a vowel
"is" starts with a vowel
"a" starts with a vowel
"earned." starts with a vowel
"early" starts with a vowel
"is" starts with a vowel
*/