Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam ekspresi kueri, terkadang berguna untuk menyimpan hasil subekspresi untuk menggunakannya dalam klausa berikutnya. Anda dapat melakukan ini dengan kata kunci let
, yang membuat variabel rentang baru dan menginisialisasinya dengan hasil ekspresi yang Anda berikan. Setelah diinisialisasi dengan nilai, variabel rentang tidak dapat digunakan untuk menyimpan nilai lain. Namun, jika variabel rentang menyimpan jenis yang dapat dikueri, variabel tersebut dapat dikueri.
Contoh
Dalam contoh berikut let
digunakan dengan dua cara:
Untuk membuat tipe enumerable yang dapat dikueri.
Agar kueri dapat memanggil
ToLower
hanya satu kali pada variabel rentangword
. Tanpa menggunakanlet
, Anda harus memanggilToLower
di setiap predikat dalam klausawhere
.
class LetSample1
{
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($"\"{v}\" starts with a vowel");
}
}
}
/* Output:
"A" starts with a vowel
"is" starts with a vowel
"a" starts with a vowel
"earned." starts with a vowel
"early" starts with a vowel
"is" starts with a vowel
*/