標籤:支援 lan [] query website from 方式 ddr nump
LINQ代表Language-integrated Query (LINQ)(Language-Integrated Query),它包括用於從資料來源檢索資訊的一組功能。資料檢索是許多程式的重要組成功能。
簡介:System.Linq;
var numPos=from n in x
where n(條件)
select 選擇;
排序:使用orderby關鍵字排序 ascending(升序預設一般不加)desending(降序)
orderby+變數+關鍵字
如果有多個變數需要排序則 orderby +變數關鍵字+變數關鍵字按順序來排。
select選擇:
select能擷取任何類型元素,可以選擇部分也可以選擇new對象。
from:可以多個來嵌套配合、select選擇。
分組:group 需要分配元素 by 分組的依據 key。foreach 首先獲得的是key,key中在包含元素。
into延續:在使用select或group子句時,有時我們會希望產生臨時結果,隨後查詢這部分查詢結果,而儲存需要的結果。該操作稱為延續。
例:
var webAdress =from addr in websites
where addr.LastIndexOf(“.”)!=-1
group addr by addr… into ws
where ws.count()>2
select ws;
let建立變數:可用let建立一個可枚舉資料來源。
例:
var chars=from str I strs
let h=str。。。
from hh in h。。。
join子句串連倆個序列:
from range-varA in data-sourceA
join range-varB in data-sourceB
on range-varA.property equals range-varB.property
select(倆個變數都可用)
匿名型別:沒有名稱的類,主要用途為建立select和join on選擇的對象也是一個匿名型別。
查詢方法:使用方法建立查詢,用Lambda運算式。
例:
int []nums ={1,-2,3,0,-4,5};
var posNum =nums.Where(n => n>0).Select(r => r);
倆種方式最終會相同,因此自然會引發如下的問題:哪種方式合適最適於C#程式?答案如下:一般來說,您會希望使用查詢文法。查詢文法與C#語言完全整合,通過關鍵字和文法獲得支援,並且更為清晰易懂。
C—LINQ小結