Share via


Cláusula let (Referência de C#)

Em uma expressão de consulta, às vezes é útil armazenar o resultado de uma subexpressão para usá-lo em cláusulas subseqüentes. Você pode fazer isso com o let palavra-chave, que cria uma nova variável de intervalo e o inicializa com o resultado da expressão você fornecer. Uma vez inicializado com um valor, a variável de intervalo não pode ser usada para armazenar o valor de outro. No entanto, se a variável de intervalo contém um tipo que podem ser consultado, ele pode ser consultado.

Exemplo

No exemplo a seguir let é usado de duas maneiras:

  1. Para criar um tipo de enumerable propriamente dito pode ser consultado.

  2. Para habilitar a consulta chamar ToLower somente uma vez na variável de intervalo word. Sem usar let, você teria chame ToLower em cada predicado na where cláusula.

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);
        }

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
/* 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
*/

Consulte também

Tarefas

Como manipular exceções em expressões de consulta (Guia de Programação em C#)

Conceitos

Expressões de consulta LINQ (Guia de Programação em C#)

Outros recursos

Referência de C#

Palavras-chave de consulta (Referência de C#)

Introdução a LINQ em C#