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

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供環(huán)縣網(wǎng)站建設(shè)、環(huán)縣做網(wǎng)站、環(huán)縣網(wǎng)站設(shè)計(jì)、環(huán)縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、環(huán)縣企業(yè)網(wǎng)站模板建站服務(wù),10余年環(huán)縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
LINQ查詢基于泛型類型,在 .NET Framework 的 2.0 版中引入了泛型類型。您無(wú)需深入了解泛型即可開(kāi)始編寫查詢。但是,您可能需要了解兩個(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è)接口,通過(guò)該接口,可以使用 foreach 語(yǔ)句來(lái)枚舉泛型集合類。泛型集合類支持 IEnumerable<(Of <(T>)>),就像非泛型集合類(如 ArrayList)支持 IEnumerable。
LINQ 查詢中的 IEnumerable 變量
LINQ 查詢變量類型化為 IEnumerable<(Of <(T>)>) 或派生類型,如 IQueryable<(Of <(T>)>)。當(dāng)您看到類型化為 IEnumerable 的查詢變量時(shí),這只意味著在執(zhí)行該查詢時(shí),該查詢將生成包含零個(gè)或多個(gè) Customer 對(duì)象的序列。
- IEnumerable
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)鍵字來(lái)避免使用泛型語(yǔ)法。var 關(guān)鍵字指示編譯器通過(guò)查看在 from 子句中指定的數(shù)據(jù)源來(lái)推斷查詢變量的類型。下面的示例生成與上一個(gè)示例相同的編譯代碼:
- 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)變量的類型明顯或顯式指定嵌套泛型類型(如由組查詢生成的那些類型)并不重要時(shí),var 關(guān)鍵字很有用。通常,我們建議如果您使用 var,應(yīng)意識(shí)到這可能使您的代碼更難以讓別人理解。以上介紹LINQ查詢基于泛型類型
分享名稱:LINQ查詢基于泛型類型淺析
分享路徑:http://fisionsoft.com.cn/article/cojschp.html


咨詢
建站咨詢
