Linq排序实现起来较简单,尤其是笔者十分推重Linq排序,到底笔者为何如此推崇Linq排序呢,请看看此文章吧,并且笔者还和大家分享了Linq排序的代码呦!
已经取出的数据集要在后台进行排序,以前总是用DataView.Sort(),感觉很是不爽,今天在vs2008下尝试用Linq排序,虽然代码不是很乐观,但感觉还是要爽一些
Linq排序代码如下:
主要是这句
- var s1 = (from r in dt.AsEnumerable()
- orderby r.Field<decimal>("达标率") descending
- select r.Take(num).ToArray();
将Linq排序的结果转换为数组
- Array list = s1.ToArray();
- List
objindex = new List(); - for (int k = 0; k < list.Length; k++)
- {
- //格式化成固定的DataRow并插入到类中
- 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("代码名称");
- dtNew.Columns.Add("达标率");
根据创建好的类来构建需要的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;
以上就是对Linq排序的简单介绍,希望能给你带来启迪。
【编辑推荐】