|
LINQ 查詢基于泛型類(lèi)型,在 .NET Framework 的 2.0 版中引入了泛型類(lèi)型。您無(wú)需深入了解泛型即可開(kāi)始編寫(xiě)查詢。但是,您可能需要了解兩個(gè)基本概念:
- 當(dāng)您創(chuàng)建泛型集合類(lèi)(如 List<(Of <(T>)>))的實(shí)例時(shí),您將“T”替換為列表將包含的對(duì)象的類(lèi)型。例如,字符串列表表示為 List,Customer 對(duì)象列表表示為 List。泛型列表是強(qiáng)類(lèi)型的,且提供了比將其元素存儲(chǔ)為 Object 的集合更多的好處。如果您嘗試將 Customer 添加到 List,則會(huì)在編譯時(shí)出現(xiàn)一條錯(cuò)誤。泛型集合易于使用的原因是您不必執(zhí)行運(yùn)行時(shí)類(lèi)型強(qiáng)制轉(zhuǎn)換。
- IEnumerable<(Of <(T>)>) 是一個(gè)接口,通過(guò)該接口,可以使用 foreach 語(yǔ)句來(lái)枚舉泛型集合類(lèi)。泛型集合類(lèi)支持 IEnumerable<(Of <(T>)>),就像非泛型集合類(lèi)(如 ArrayList)支持 IEnumerable。
LINQ 查詢中的 IEnumerable 變量
LINQ 查詢變量類(lèi)型化為 IEnumerable<(Of <(T>)>) 或派生類(lèi)型,如 IQueryable<(Of <(T>)>)。當(dāng)您看到類(lèi)型化為 IEnumerable 的查詢變量時(shí),這只意味著在執(zhí)行該查詢時(shí),該查詢將生成包含零個(gè)或多個(gè) Customer 對(duì)象的序列。
IEnumerable<Customer> customerQuery =from cust in customers
where cust.City == "London"
select cust;
foreach (Customer customer in customerQuery)
{
Console.WriteLine(customer.LastName + ", " + customer.FirstName);
}
it知識(shí)庫(kù):LINQ 和泛型類(lèi)型,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。