将数据源进行Linq排序

Linq排序实现起来较简单,尤其是笔者十分推重Linq排序,到底笔者为何如此推崇Linq排序呢,请看看此文章吧,并且笔者还和大家分享了Linq排序的代码呦!

已经取出的数据集要在后台进行排序,以前总是用DataView.Sort(),感觉很是不爽,今天在vs2008下尝试用Linq排序,虽然代码不是很乐观,但感觉还是要爽一些

Linq排序代码如下

主要是这句

 
 
 
  1. var s1 = (from r in dt.AsEnumerable()   
  2. orderby r.Field<decimal>("达标率") descending
  3.  select r.Take(num).ToArray();  

将Linq排序的结果转换为数组

 
 
 
  1. Array list = s1.ToArray();  
  2. List  objindex =  new List ();  
  3. for (int k = 0; k < list.Length; k++)  
  4. {  
  5.      //格式化成固定的DataRow并插入到类中  
  6.     objindex.Add(new Index_ShowField(((DataRow)(((System.Data.DataRow[])s1)[k]))[0].ToString(),
  7. ((DataRow)(((System.Data.DataRow[])s1)[k]))[3].ToString()));  
  8. }  
  9. DataTable dtNew = new DataTable();  
  10. dtNew.Columns.Add("代码名称");  
  11. dtNew.Columns.Add("达标率"); 

根据创建好的类来构建需要的DataTable

 
 
 
  1. foreach (Index_ShowField objfield in objindex)  
  2. {  
  3.     DataRow dr = dtNew.NewRow();  
  4.     dr[0] = objfield.Name;  
  5.     dr[1] = objfield.Per;  
  6.     dtNew.Rows.Add(dr);  
  7. }  
  8. return dtNew; 

以上就是对Linq排序的简单介绍,希望能给你带来启迪。

【编辑推荐】

  1. 为你揭晓 Linq更新数据是否真的实用?
  2. 深度剖析linq级联删除
  3. 简单实现Linq连接查询
  4. LINQ动态查询的实现浅析
  5. 简单实现Linq多条件查询
THE END