LINQ概述
語(yǔ)言集成查詢(xún)(Language intergrated Query,LINQ)在C#編程語(yǔ)言中集成了查詢(xún)語(yǔ)法。
可以使用相同的語(yǔ)法訪(fǎng)問(wèn)不同的數(shù)據(jù)源
提供了不同數(shù)據(jù)源的抽象層,所有可以使用相同的語(yǔ)法
LINQ查詢(xún)
var query= from r in [list] where r.x=='xxx' orderby r.x desceding select r;
查詢(xún)表達(dá)式必須以from子句開(kāi)頭,以select或者group 結(jié)束 變量query只是指定了查詢(xún),查詢(xún)語(yǔ)句不是通過(guò)賦值來(lái)執(zhí)行,只要是使用了foreach循環(huán)查詢(xún),才正式執(zhí)行
擴(kuò)展方法
編譯器會(huì)轉(zhuǎn)換LINQ查詢(xún),以調(diào)用方法而不是LINQ查詢(xún)。LINQ為IEnumberable接口提供了各種擴(kuò)展方法,已便用戶(hù)在實(shí)現(xiàn)該接口的任意集合上使用LINQ查詢(xún)。
擴(kuò)展方法可以吧方法添加到實(shí)現(xiàn)某個(gè)特性接口的任何類(lèi)中,這樣多個(gè)類(lèi)就可以使用相同的實(shí)現(xiàn)