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

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供瀘縣網(wǎng)站建設(shè)、瀘縣做網(wǎng)站、瀘縣網(wǎng)站設(shè)計(jì)、瀘縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、瀘縣企業(yè)網(wǎng)站模板建站服務(wù),10年瀘縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
想實(shí)現(xiàn)linq動(dòng)態(tài)排序就是linq的order by 后跟動(dòng)態(tài)的函數(shù)可以用委托實(shí)現(xiàn),但是發(fā)現(xiàn)實(shí)現(xiàn)委托函數(shù)時(shí)候:
- int testSelector(post p)
- {
- ret urn p.Uu;
- }
這個(gè)返回類型受到了限制僅是相同類型的字段可以動(dòng)態(tài)排序是不是Func selector 這個(gè)的實(shí)現(xiàn)我理解的有問題 ?
- public IEnumerable Sort ( string userName, Func
- selector)
- {
- return from post in posts
- where post.UserName == userName
- orderby selector(post) descending
- select post;
- }
這個(gè)函數(shù)的TKey限制只能是一種類型 ?有什么好的實(shí)現(xiàn)嗎?
linq動(dòng)態(tài)排序具體解決的代碼
- public class OrderBy
- {
- List posts = new List ();
- public List GtePost()
- {
- for (int i = 0, j=1000; i < 1000 ; i++, j--)
- {
- post p = new post();
- p.Ty = i;
- p.Uu=j;
- p.UserName = "1";
- posts.Add(p);
- }
- return posts;
- }
- /**////
- /// Func 委托的實(shí)現(xiàn)
- ///
- ///
- /// 可以動(dòng)態(tài)設(shè)置排序的列
- int testSelector(post p)
- {
- return p.Uu;
- }
- public IEnumerable GetData()
- {
- GtePost();
- return Sort
("", testSelector); - }
- public IEnumerable Sort ( string userName, Func
- TKey> selector)
- {
- return from post in posts
- where post.UserName == userName
- orderby selector(post) descending
- select post;
- }
- }
linq動(dòng)態(tài)排序Code
- void BindData()
- {
- OrderBy o = new OrderBy();
- post p=new post ();
- this.dataGridView1.DataSource = o.GetData().ToList ();
- }
以上就是對(duì)linq動(dòng)態(tài)排序解決方法的簡單介紹。
新聞標(biāo)題:詳細(xì)闡述linq動(dòng)態(tài)排序
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dpdhish.html


咨詢
建站咨詢
