Share via


let-component (C#-verwijzing)

In een query-expressie is het soms handig om het resultaat van een subexpressie op te slaan om deze in volgende componenten te gebruiken. U kunt dit doen met het let trefwoord, waarmee een nieuwe bereikvariabele wordt gemaakt en geïnitialiseerd met het resultaat van de expressie die u opgeeft. Zodra deze is geïnitialiseerd met een waarde, kan de bereikvariabele niet worden gebruikt om een andere waarde op te slaan. Als de bereikvariabele echter een querybaar type bevat, kan deze worden opgevraagd.

Opmerking

In het volgende voorbeeld let wordt op twee manieren gebruikt:

  1. Als u een opsommingsbaar type wilt maken dat zelf kan worden opgevraagd.

  2. Als u wilt dat de query slechts één keer wordt aangeroepen ToLower op de bereikvariabele word. Zonder gebruiklet, moet u elk predicaat in de where component aanroepenToLower.

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("\"{0}\" starts with a vowel", v);
        }
    }
}
/* 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
*/

Zie ook