Share via


let component (C#-verwijzing)

In een query-expressie kan het handig zijn om het resultaat van een subexpressie op te slaan, zodat u deze in latere componenten kunt gebruiken. Gebruik het let trefwoord om een nieuwe bereikvariabele te maken en deze te initialiseren met het resultaat van een expressie. Nadat u de bereikvariabele met een waarde hebt geïnitialiseerd, kunt u deze niet meer toewijzen. Als de bereikvariabele echter een querybaar type bevat, kunt u er query's op uitvoeren.

De C#-taalreferentiedocumenten beschrijven de meest recent uitgebrachte versie van de C#-taal. Het bevat ook de eerste documentatie voor functies in openbare previews voor de aanstaande taalrelease.

De documentatie identificeert alle functies die voor het eerst zijn geïntroduceerd in de laatste drie versies van de taal of in de huidige openbare previews.

Aanbeveling

Raadpleeg het artikel over de versiegeschiedenis van de C#-taal om te achterhalen wanneer een functie voor het eerst is geïntroduceerd in C#.

In het volgende voorbeeld let wordt op twee manieren gebruikt:

  1. Er wordt een opsommingstype gemaakt dat u kunt opvragen.
  2. Hiermee kan de query slechts één keer worden 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($"\"{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
*/

Zie ook