LINQ查詢基于泛型類型的示例分析

小編給大家分享一下LINQ查詢基于泛型類型的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供色尼網(wǎng)站建設(shè)、色尼做網(wǎng)站、色尼網(wǎng)站設(shè)計、色尼網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、色尼企業(yè)網(wǎng)站模板建站服務(wù),10余年色尼做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

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

LINQ 查詢中的 IEnumerable 變量

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

IEnumerable<Customer> customerQuery =  from cust in customers  where cust.City == "London"  select cust;   foreach (Customer customer in customerQuery)  {  Console.WriteLine(customer.LastName + ", " + customer.FirstName);  }

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

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

var customerQuery2 =  from cust in customers  where cust.City == "London"  select cust;   foreach(var customer in customerQuery2)  {  Console.WriteLine(customer.LastName + ", " + customer.FirstName);  }

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

以上是“LINQ查詢基于泛型類型的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前文章:LINQ查詢基于泛型類型的示例分析
當(dāng)前網(wǎng)址:http://muchs.cn/article14/gppjde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、App開發(fā)定制網(wǎng)站、網(wǎng)站維護(hù)、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站