自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)闡述linq動態(tài)排序

開發(fā) 后端
linq動態(tài)排序不是很好實(shí)現(xiàn)的,很多開發(fā)者都被困在了這個方面,所以筆者今天分享一下自己的經(jīng)驗(yàn),希望能給大家?guī)韼椭?/div>

linq動態(tài)排序不是很好實(shí)現(xiàn)的,很多開發(fā)者都在這個方面有疑惑,所以筆者今天分享一下自己的經(jīng)驗(yàn),希望能給大家?guī)韼椭?/P>

想實(shí)現(xiàn)linq動態(tài)排序就是linq的order by 后跟動態(tài)的函數(shù)可以用委托實(shí)現(xiàn),但是發(fā)現(xiàn)實(shí)現(xiàn)委托函數(shù)時候:

  1. int testSelector(post p)  
  2. {  
  3.    ret urn p.Uu;  
  4. }  

這個返回類型受到了限制僅是相同類型的字段可以動態(tài)排序是不是Func selector 這個的實(shí)現(xiàn)我理解的有問題 ?

  1. public IEnumerable Sort(string userName, Func 
  2. selector)  
  3.       {  
  4.           return from post in posts  
  5.                  where post.UserName == userName  
  6.                  orderby selector(post) descending  
  7.                  select post;  
  8.       }   

這個函數(shù)的TKey限制只能是一種類型 ?有什么好的實(shí)現(xiàn)嗎?

linq動態(tài)排序具體解決的代碼

  1. public   class OrderBy  
  2. {   
  3.   List posts = new List();  
  4.   public List  GtePost()  
  5.   {  
  6.     for (int i = 0, j=1000; i < 1000 ; i++, j--)  
  7.      {  
  8.         post p = new post();  
  9.         p.Ty = i;  
  10.         p.Uu=j;  
  11.         p.UserName = "1";  
  12.         posts.Add(p);  
  13.      }  
  14.    return posts;  
  15.   }  
  16.      
  17. /**////   
  18.   /// Func 委托的實(shí)現(xiàn)  
  19.   ///   
  20.  ///   
  21.   ///  可以動態(tài)設(shè)置排序的列  
  22. int testSelector(post p)  
  23. {  
  24.     return p.Uu;  
  25. }  
  26.  public  IEnumerable GetData()  
  27.     {  
  28.        GtePost();  
  29.        return Sort<int>("", testSelector);  
  30.     }  
  31. public IEnumerable Sort(string userName, Func
  32.  TKey> selector)  
  33.   {  
  34.      return from post in posts  
  35.      where post.UserName == userName  
  36.      orderby selector(post) descending  
  37.      select post;  
  38.   }  
  39. }  

linq動態(tài)排序Code

  1. void BindData()  
  2.   {  
  3.       OrderBy o = new OrderBy();                     
  4.       post p=new post ();  
  5.       this.dataGridView1.DataSource = o.GetData().ToList();               
  6.   } 

以上就是對linq動態(tài)排序解決方法的簡單介紹。

【編輯推薦】

  1. 詳談Linq查詢結(jié)果分析的方法
  2. 簡簡單單學(xué)習(xí)Linq查詢語法
  3. 詳細(xì)闡述Linq插入數(shù)據(jù)的操作方法
  4. 淺析Linq插入數(shù)據(jù)的實(shí)現(xiàn)方法
  5. 簡單解決Linq多條件組合問題
責(zé)任編輯:阡陌 來源: 博客園
相關(guān)推薦

2009-09-15 23:21:17

Linq插入數(shù)據(jù)

2009-09-15 13:59:18

LINQ to Dat

2009-09-08 13:07:15

介紹Linq to S

2009-09-14 14:20:36

LINQ ORM

2009-09-18 09:25:06

LINQ Framew

2009-09-14 15:15:45

LINQ技術(shù)

2009-09-14 16:33:55

LINQ To XML

2009-09-14 14:17:11

Linq異常處理

2009-09-15 13:20:34

LINQ DataCo

2009-09-14 13:14:49

LINQ序列

2009-09-14 14:58:52

LINQ to XML

2009-09-15 16:44:44

Linq排序

2010-05-05 18:44:27

服務(wù)器負(fù)載均衡

2010-02-06 09:45:49

Android屬性

2009-09-17 16:46:34

Linq to sql

2009-09-15 10:16:01

LINQ動態(tài)查詢

2009-09-18 15:15:12

LINQ to SQL

2009-09-15 09:19:22

linq動態(tài)條件

2009-12-17 09:56:26

Linux添加驅(qū)動模塊

2010-01-07 17:48:02

JSON結(jié)構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號