LINQ語言集成查詢

LINQ是C#針對(duì)數(shù)據(jù)集的一種查詢方式。

例如,此時(shí)存在一個(gè)數(shù)組

string[] milks = { "8.蒙牛a", "5.伊利a", "2.小洋人", "4.純享a" };

我想查詢?cè)摂?shù)組中以"a"結(jié)尾并按其本身排序時(shí)。

var items = from s in milks//查詢?cè)摂?shù)組

where s.EndsWith("a") //哪些以“a”結(jié)尾

orderby s//本身排序

?select s;//查詢

結(jié)果如下:


上述方法使用于數(shù)組、列表。

若此時(shí)數(shù)據(jù)源為DataTable。

//構(gòu)造測(cè)試數(shù)據(jù)

DataTable milks_dt = new DataTable;?

//構(gòu)造列?

milks_dt.Columns.Add("Id");

milks_dt.Columns.Add("Milk");?

//添加行x4

object[] row = new object[milks_dt.Columns.Count];

for(int i = 0; i < milks.Length; i++)

{

? ? row[0] = milks[i].Split('.')[0];

????row[1] = milks[i];

? ? milks_dt.Rows.Add(row);

}

//此時(shí)轉(zhuǎn)換

var milksItem = milks_dt.AsEnumerable();

//AsEnumerable - 返回一個(gè)System.Collections.Generic.IEnumerable`1對(duì)象,其中泛型參數(shù)T為System.Data.DataRow。 該對(duì)象可以在LINQ表達(dá)式中使用或方法查詢。

var items = from x in milkItems where x.Field<string>("Name").EndsWith("a") orderby x.Field<string>("Id") select x;

執(zhí)行結(jié)果如圖,同樣的結(jié)果只不過單個(gè)元素變成了DataRow:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容