English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Palavra-chave let LINQ

A palavra-chave 'let' é muito útil na sintaxe de consulta. Ela projeta uma nova variável de escopo, permitindo a reutilização de expressões e tornando a consulta mais legível.

Por exemplo, você pode comparar valores de string e selecionar strings em minúsculas, conforme mostrado a seguir:

IList<Student> listaDeAlunos = new List<Student>() { 
    new Student() { StudentID = 1, NomeDoAluno = "John",     Idade = 18 }
    new Student() { StudentID = 2, NomeDoAluno = "Steve",     Idade = 21 }
    new Student() { StudentID = 3, NomeDoAluno = "Bill",     Idade = 18 }
    new Student() { StudentID = 4, NomeDoAluno = "Ram", Idade = 20 } ,
    new Student() { StudentID = 5, StudentName = "Ron", Age = 21 } 
};
var lowercaseStudentNames = from s in studentList
                            where s.StudentName.ToLower().StartsWith("r")
                            select s.StudentName.ToLower();

Como você vê, o método ToLower() é usado várias vezes na consulta acima. O exemplo a seguir usa "let" para introduzir a nova variável "lowercaseStudentName", e usará essa variável em todos os lugares.letAs palavras-chave tornam a consulta mais legível.

Exemplo: Palavra-chave let no C#

var lowercaseStudentNames = from s in studentList
                            let lowercaseStudentName = s.StudentName.ToLower()
                                where lowercaseStudentName.StartsWith("r")
                                select lowercaseStudentName;
foreach (var name in lowercaseStudentNames)
	Console.WriteLine(name);
Exemplo: Palavra-chave let no VB.Net
Dim lowercaseStudentNames = From s In studentList
                            Let lowercaseStudentName = s.StudentName.ToLower()
                                Where lowercaseStudentName.StartsWith("r")
                                Select lowercaseStudentName;
Saída:
ram
ron