LINQ let 關(guān)鍵字

'let'關(guān)鍵字在查詢語法中很有用。它投影了一個新的范圍變量,允許復(fù)用使用表達(dá)式并使查詢更具可讀性。

例如,您可以比較字符串值并選擇小寫字符串值,如下所示:

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關(guān)鍵字使查詢更具可讀性。

示例:C#中的let關(guān)鍵字

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);
示例:VB.Net中的let關(guān)鍵字
Dim lowercaseStudentNames = From s In studentList
                            Let lowercaseStudentName = s.StudentName.ToLower()
                                Where lowercaseStudentName.StartsWith("r")
                                Select lowercaseStudentName;
輸出:
ram
ron
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清