C# 延遲執(zhí)行的查詢
foreach循環(huán)實(shí)際上并不是UNQ的一部分,它只是迭代結(jié)果。雖然foreach結(jié)構(gòu)并不是LINQ的一部分,但它是實(shí)際執(zhí)行LINQ查詢的代碼。查詢結(jié)果變量?jī)H保存了執(zhí)行查詢的一個(gè)計(jì)劃,在訪問(wèn)査詢結(jié)果之前,并沒(méi)有提取LINQ數(shù)據(jù),這稱為查詢的延遲執(zhí)行或遲緩執(zhí)行。生成結(jié)果序列(即列表)的查詢都要延遲執(zhí)行。
現(xiàn)在回頭來(lái)看代碼。由于輸出了結(jié)果,所以程序結(jié)束:
Write("Program finished, press Enter/Return to continue:");
ReadLine();
這些代碼僅確保在按下一個(gè)鍵(甚至可以按下F5鍵,而不是Ctrl+F5組合鍵)之前,控制臺(tái)程序的結(jié)果始終顯示在屏幕上。在大多數(shù)其他LINQ示例中也使用這種結(jié)構(gòu)。
點(diǎn)擊加載更多評(píng)論>>