در این قسمت در رابطه با کلمهی کلیدی let و روش query syntax استفاده میکنیم. با استفاده از دستور و کلمهی کلیدی let می توانیم یک range variable جدید را اصطلاحاً project نماییم. این موضوع اجازه می دهد تا به راحتی یک expression را دوباره مورد استفاده قرار بدهید و همچنین قابلیت خوانایی query نوشته شده را افزایش بدهید. برای مثال می توانید مقادیر رشته ای موجود را با یکدیگر مقایسه کنیم و رشتهای که با حروف کوچک و یا اصطلاحاً lowercase نوشته شده است را شبیه به کد زیر انتخاب نماییم.
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 چندین بار در query نوشته شده در قسمت بالا مورد استفاده قرار گرفته است. حال مثال زیر استفاده از کلمه کلیدی let برای یک متغیر جدید دیگر به نام ‘lowercaseStudentName’ را نشان می دهد که در قسمت های مختلف query مورد استفاده قرار میگیرند. بنابراین به راحتی میتوان با استفاده از کلمه let نه تنها یک متغیر را تعریف کرد بلکه query نوشته شده را نیز خواناتر نمود.
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)
خروجی این کد شبیه به قسمت زیر خواهد بود.
[output]
ram
ron
[/output]
منبع:وبسایت پرووید