permitir que a cláusula (translation from VPE for Csharp Reference)

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 que 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 seguinte let é usado de duas maneiras:

  1. Para criar um tipo enumerável que se pode ser consultado.

  2. Para habilitar a consulta chamar ToLower somente uma vez na variável de intervalo word. Sem usar let, você teria de telefonar 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: Tratar exceções em expressões de consulta (guia de programação translation from VPE for Csharp)

Conceitos

Expressões de consulta do LINQ (guia de programação translation from VPE for Csharp)

Outros recursos

Referência C#

Palavras-chave de consulta (translation from VPE for Csharp Reference)

Introdução ao LINQ em C#