Trong một biểu thức truy vấn, nó chỉ hữu ích để phục hồi kết quả của biểu thức trong việc thiết lập trật tự để sử dụng. Khi khởi tạo giá trị, giá trị biến không thể được sử dụng để lưu giá trị khác. Tuy nhiên, nếu biến phạm vi chứa truy vấn, nó có thể được truy vấn một cách dễ dàng mà không phải rườm rà trong việc khai báo lại.
Ví dụ sau sử dụng hai cách:
- Tạo kiểu enumerable, có thể truy vấn chính nó.
- Cho phép truy vấn gọi ToLower chỉ một lần phạm vi trong biến word. Nếu không sử dụng let, bạn sẽ phải gọi ToLower mỗi từ trong mệnh đề where.
static void Main()
{
string[] strings =
{
"A penny saved is a penny earned.",
"The early bird catches the worm.",
"The pen is mightier than the sword."
};
// Split the sentence into an array of words
// and select those whose first letter is a vowel.
var earlyBirdQuery =
from sentence in strings
let words = sentence.Split(' ')
from word in words
let w = word.ToLower()
where w[0] == 'a' || w[0] == 'e'
|| w[0] == 'i' || w[0] == 'o'
|| w[0] == 'u'
select word;
// Execute the query.
foreach (var v in earlyBirdQuery)
{
Console.WriteLine("\"{0}\" starts with a vowel", v);
}
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();