LINQ概述

  1. 語(yǔ)言集成查詢(xún)(Language intergrated Query,LINQ)在C#編程語(yǔ)言中集成了查詢(xún)語(yǔ)法。

  2. 可以使用相同的語(yǔ)法訪(fǎng)問(wèn)不同的數(shù)據(jù)源

  3. 提供了不同數(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)