自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linq foreach語句概述

開發(fā) 后端
這里介紹Linq foreach語句也是檢索查詢結果的地方。例如,在上一個查詢中,迭代變量 num 保存了返回的序列中的每個值(一次保存一個值)。

Linq 有很多值得學習的地方,這里我們主要介紹Linq foreach語句,包括介紹foreach循環(huán)來強制執(zhí)行查詢等方面。

實際的查詢執(zhí)行會延遲到在Linq foreach語句中循環(huán)訪問查詢變量時發(fā)生。此概念稱為“延遲執(zhí)行”,下面的示例對此進行了演示:

  1. //Query execution.   
  2. foreach (int num in numQuery)  
  3. {  
  4. Console.Write("{0,1} ", num);  

Linq foreach語句也是檢索查詢結果的地方。例如,在上一個查詢中,迭代變量 num 保存了返回的序列中的每個值(一次保存一個值)。

由于查詢變量本身從不保存查詢結果,因此可以根據(jù)需要隨意執(zhí)行查詢。例如,可以通過一個單獨的應用程序持續(xù)更新數(shù)據(jù)庫。在應用程序中,可以創(chuàng)建一個檢索***數(shù)據(jù)的查詢,并可以按某一時間間隔反復執(zhí)行該查詢以便每次檢索不同的結果。

對一系列源元素執(zhí)行聚合函數(shù)的查詢必須首先循環(huán)訪問這些元素。Count、Max、Average 和 First 就屬于此類查詢。由于查詢本身必須使用 foreach 以便返回結果,因此這些查詢在執(zhí)行時不使用顯式Linq foreach語句。另外還要注意,這些類型的查詢返回單個值,而不是 IEnumerable 集合。下面的查詢返回源數(shù)組中偶數(shù)的計數(shù):

  1. var evenNumQuery =   
  2. from num in numbers  
  3. where (num % 2) == 0  
  4. select num;  
  5.  
  6. int evenNumCount = evenNumQuery.Count(); 

若要強制立即執(zhí)行任意查詢并緩存其結果,可以調用 ToList<(Of <(TSource>)>) 或 ToArray<(Of <(TSource>)>) 方法。

  1. List<int> numQuery2 =  
  2. (from num in numbers  
  3. where (num % 2) == 0  
  4. select num).ToList();  
  5.  
  6. //or like this:  
  7. //numQuery3 is still an int[]  
  8.  
  9. var numQuery3 =  
  10. (from num in numbers  
  11. where (num % 2) == 0  
  12. select num).ToArray(); 

此外,還可以通過在緊跟查詢表達式之后的位置放置一個 foreach 循環(huán)來強制執(zhí)行查詢。但是,通過調用 ToList 或 ToArray,也可以將所有數(shù)據(jù)緩存在單個集合對象中。

【編輯推薦】

  1. LinqDataSource控件剖析
  2. Linq To Sql學習經驗
  3. Linq String類型淺析
  4. Linq組合查詢之集成數(shù)據(jù)庫語言查詢
  5. Linq To SQL輸出SQL語句剖析
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-10 13:42:47

Linq UserIn

2009-09-10 11:10:21

Linq Librar

2009-05-11 10:40:36

.NETLINQforeach

2009-09-08 16:08:44

Linq使用order

2009-09-18 16:20:36

LINQ基礎

2009-09-18 16:07:10

Linq Where操

2009-09-10 16:28:17

LINQ查詢

2009-09-11 12:13:40

LINQ to SQL

2009-09-14 09:55:55

Linq基本語法

2009-09-14 15:15:45

LINQ技術

2009-09-16 17:21:53

LINQ遍歷

2009-09-18 13:44:38

LINQ設計模式

2009-09-09 16:01:21

Linq實體繼承使用

2009-09-18 16:12:22

LINQ TO SQL

2009-09-09 16:07:16

Linq實體關系

2009-09-11 10:16:07

Linq匿名類型

2009-09-15 13:37:24

Linq To Sql

2009-09-15 11:29:04

LINQ to SQL

2009-09-17 11:35:40

Linq匿名類型

2009-09-11 10:38:03

LINQ體系結構
點贊
收藏

51CTO技術棧公眾號