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

Ключевое слово let в LINQ

Ключевое слово 'let' очень полезно в синтаксисе запросов. Оно проектирует новую переменную области видимости, позволяет повторно использовать выражения и делает запрос более читаемым.

Например, вы можете сравнивать значения строк и выбирать значения строчных строк, как показано ниже:

IList<Student> studentList = new List<Student>() { 
    new Student() { StudentID = 1, StudentName = "John", Age = 18 } ,
    new Student() { StudentID = 2, StudentName = "Steve", Age = 21 } ,
    new Student() { StudentID = 3, StudentName = "Bill", Age = 18 } ,
    new Student() { StudentID = 4, StudentName = "Ram", Age = 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();

Как вы видите, метод ToLower() используется несколько раз в данном запросе. В следующем примере используется слово "let", чтобы ввести новую переменную "lowercaseStudentName", и затем использовать её везде.letКлючевые слова делают запрос более читаемым.

Пример: Ключевое слово let в 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);
Пример: Ключевое слово let в VB.Net
Dim lowercaseStudentNames = From s In studentList
                            Let lowercaseStudentName = s.StudentName.ToLower()
                                Where lowercaseStudentName.StartsWith("r")
                                Select lowercaseStudentName;
Вывод:
ram
ron