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

关键字let LINQ

La parola chiave 'let' è molto utile nel linguaggio di query. Proietta una nuova variabile di intervallo, che permette di riutilizzare espressioni e rende la query più leggibile.

Ad esempio, puoi confrontare valori di stringa e selezionare valori di stringa minuscola, come segue:

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