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

LINQ查詢基于泛型類型淺析

開發(fā) 后端
這里介紹LINQ查詢基于泛型類型,在 .NET Framework 的 2.0 版中引入了泛型類型。您無需深入了解泛型即可開始編寫查詢。但是,您可能需要了解兩個(gè)基本概念。

Linq有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ查詢基于泛型類型,包括介紹LINQ 查詢中的 IEnumerable 變量等方面。

LINQ查詢基于泛型類型,在 .NET Framework 的 2.0 版中引入了泛型類型。您無需深入了解泛型即可開始編寫查詢。但是,您可能需要了解兩個(gè)基本概念:
◆當(dāng)您創(chuàng)建泛型集合類(如 List<(Of <(T>)>))的實(shí)例時(shí),您將“T”替換為列表將包含的對(duì)象的類型。例如,字符串列表表示為 List,Customer 對(duì)象列表表示為 List。泛型列表是強(qiáng)類型的,且提供了比將其元素存儲(chǔ)為 Object 的集合更多的好處。如果您嘗試將 Customer 添加到 List,則會(huì)在編譯時(shí)出現(xiàn)一條錯(cuò)誤。泛型集合易于使用的原因是您不必執(zhí)行運(yùn)行時(shí)類型強(qiáng)制轉(zhuǎn)換。
◆IEnumerable<(Of <(T>)>) 是一個(gè)接口,通過該接口,可以使用 foreach 語句來枚舉泛型集合類。泛型集合類支持 IEnumerable<(Of <(T>)>),就像非泛型集合類(如 ArrayList)支持 IEnumerable。

LINQ 查詢中的 IEnumerable 變量

LINQ 查詢變量類型化為 IEnumerable<(Of <(T>)>) 或派生類型,如 IQueryable<(Of <(T>)>)。當(dāng)您看到類型化為 IEnumerable 的查詢變量時(shí),這只意味著在執(zhí)行該查詢時(shí),該查詢將生成包含零個(gè)或多個(gè) Customer 對(duì)象的序列。

  1. IEnumerable<Customer> customerQuery =  
  2. from cust in customers  
  3. where cust.City == "London"  
  4. select cust;  
  5.  
  6. foreach (Customer customer in customerQuery)  
  7. {  
  8. Console.WriteLine(customer.LastName + ", " + customer.FirstName);  

讓編譯器處理泛型類型聲明

如果您愿意,可以使用 var 關(guān)鍵字來避免使用泛型語法。var 關(guān)鍵字指示編譯器通過查看在 from 子句中指定的數(shù)據(jù)源來推斷查詢變量的類型。下面的示例生成與上一個(gè)示例相同的編譯代碼:

  1. var customerQuery2 =  
  2. from cust in customers  
  3. where cust.City == "London"  
  4. select cust;  
  5.  
  6. foreach(var customer in customerQuery2)  
  7. {  
  8. Console.WriteLine(customer.LastName + ", " + customer.FirstName);  

當(dāng)變量的類型明顯或顯式指定嵌套泛型類型(如由組查詢生成的那些類型)并不重要時(shí),var 關(guān)鍵字很有用。通常,我們建議如果您使用 var,應(yīng)意識(shí)到這可能使您的代碼更難以讓別人理解。以上介紹LINQ查詢基于泛型類型

【編輯推薦】

  1. LINQ查詢操作經(jīng)驗(yàn)總結(jié)
  2. LINQ遍歷多個(gè)數(shù)組深入剖析
  3. Linq查詢Access數(shù)據(jù)文件淺談
  4. LINQ構(gòu)建框架設(shè)計(jì)學(xué)習(xí)筆記
  5. LINQ重要組成部分簡(jiǎn)介
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2009-09-14 18:57:19

LINQ查詢

2009-04-24 09:33:12

LINQ查詢非泛型

2009-05-27 10:12:27

LINQ泛型字典Dictionary

2009-08-24 14:51:25

C# 泛型泛型類型

2009-09-07 16:44:28

Linq String

2009-09-14 14:01:21

LINQ泛型數(shù)據(jù)集

2009-09-14 18:23:59

LINQ嵌套查詢

2009-09-17 18:05:15

linq to sql

2009-09-15 09:19:22

linq動(dòng)態(tài)條件

2009-09-10 14:47:53

Linq .NET查詢

2010-05-17 09:34:46

LINQAjax

2009-09-14 19:14:51

LINQ動(dòng)態(tài)查詢

2009-08-24 14:20:13

C# 強(qiáng)制類型轉(zhuǎn)換

2009-09-15 17:16:58

LINQ查詢操作符

2009-09-15 10:35:11

linq多表查詢

2009-09-14 17:10:57

LINQ模糊查詢

2009-08-24 15:12:13

C# 泛型接口

2009-08-24 18:15:24

C# Dictiona

2009-09-16 17:29:10

Linq查詢二維數(shù)組

2009-09-13 21:52:16

LINQ字符串
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)