將數(shù)據(jù)源進(jìn)行Linq排序
Linq排序?qū)崿F(xiàn)起來(lái)較簡(jiǎn)單,尤其是筆者十分推重Linq排序,到底筆者為何如此推崇Linq排序呢,請(qǐng)看看此文章吧,并且筆者還和大家分享了Linq排序的代碼呦!
已經(jīng)取出的數(shù)據(jù)集要在后臺(tái)進(jìn)行排序,以前總是用DataView.Sort(),感覺(jué)很是不爽,今天在vs2008下嘗試用Linq排序,雖然代碼不是很樂(lè)觀,但感覺(jué)還是要爽一些
Linq排序代碼如下:
主要是這句
- var s1 = (from r in dt.AsEnumerable()
- orderby r.Field<decimal>("達(dá)標(biāo)率") descending
- select r.Take(num).ToArray();
將Linq排序的結(jié)果轉(zhuǎn)換為數(shù)組
- Array list = s1.ToArray();
- List
objindex = new List(); - for (int k = 0; k < list.Length; k++)
- {
- //格式化成固定的DataRow并插入到類(lèi)中
- objindex.Add(new Index_ShowField(((DataRow)(((System.Data.DataRow[])s1)[k]))[0].ToString(),
- ((DataRow)(((System.Data.DataRow[])s1)[k]))[3].ToString()));
- }
- DataTable dtNew = new DataTable();
- dtNew.Columns.Add("代碼名稱(chēng)");
- dtNew.Columns.Add("達(dá)標(biāo)率");
根據(jù)創(chuàng)建好的類(lèi)來(lái)構(gòu)建需要的DataTable
- foreach (Index_ShowField objfield in objindex)
- {
- DataRow dr = dtNew.NewRow();
- dr[0] = objfield.Name;
- dr[1] = objfield.Per;
- dtNew.Rows.Add(dr);
- }
- return dtNew;
以上就是對(duì)Linq排序的簡(jiǎn)單介紹,希望能給你帶來(lái)啟迪。
【編輯推薦】