Partage via


let clause (référence C#)

Dans une expression de requête, il peut être utile de stocker le résultat d’une sous-expression afin de pouvoir l’utiliser dans les clauses ultérieures. Utilisez le let mot clé pour créer une variable de plage et l’initialiser avec le résultat d’une expression. Après avoir initialisé la variable de plage avec une valeur, vous ne pouvez pas l’affecter à une autre valeur. Toutefois, si la variable de plage contient un type interrogeable, vous pouvez l’interroger.

La documentation de référence du langage C# décrit la version la plus récente du langage C#. Il contient également la documentation initiale des fonctionnalités dans les préversions publiques pour la prochaine version du langage.

La documentation identifie toute fonctionnalité introduite en premier dans les trois dernières versions de la langue ou dans les préversions publiques actuelles.

Conseil / Astuce

Pour savoir quand une fonctionnalité a été introduite en C#, consultez l’article sur l’historique des versions du langage C#.

Dans l’exemple suivant, let il est utilisé de deux façons :

  1. Il crée un type énumérable que vous pouvez interroger.
  2. Elle permet à la requête d’appeler ToLower une seule fois sur la variable wordde plage. Sans utiliser let, vous devrez appeler ToLower chaque prédicat dans la where clause.
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
*/

Voir aussi