linq 實現動態 orderby

2021-09-07 06:35:46 字數 1423 閱讀 5714

class

pet

public

int age

} void

main()

,

new pet ,

new pet };

//如果我們想根據age進行排序 很容易想到這樣來寫:

var query= from p in

pets

orderby

p.age

select

p;

query.tolist().foreach(q=>console.writeline(q.name +"

"+q.age));

/*得到結果:

tim 18

bill 20

allen 22

*/}

//但是有時專案內有多個排序條件 如有時要根據name排序 有時要根據age排序 何問起 hovertree.com

//這時我們就要用到動態排序:

void

main()

,

new pet ,

new pet };

console.writeline(

"before orderby:/r/n

");

pets.tolist().foreach(p=>console.writeline(p.name +"

"+p.age));

var query= from p in

pets

orderby getpropertyvalue(p,"

age"

)

select

p;

console.writeline(

"/r/nafter orderby:/r/n

");

query.tolist().foreach(q=>console.writeline(q.name +"

"+q.age));

/*before orderby:

tim 18

allen 22

bill 20

after orderby:

tim 18

bill 20

allen 22

*/}

/*何問起 hovertree.com

*/private

static

object getpropertyvalue(object obj, string

property)

推薦:

精通LINQ 4 2 5 orderby子句

在 linq 查詢表示式中,orderby 子句可以對查詢結果進行排序。排序方式可以為 公升序 或 降序 且排序的鍵可以為乙個或多個。注意 linq 查詢表示式對查詢結果的預設排序方式為 公升序 下面的 例項中的 orderquery 函式演示了 orderby 子句對查詢的結果進行倒序排序的方法,...

Linq 動態查詢

最近在做專案中用到了linq to sql,在用的時候感覺很,寫的 也少 提高了開發的週期 但是在開發的過程中我們還是碰到很多的東西,由於是第一把linq用到專案中,原來是寫個小的demo 沒有過多的用到他的優點 看看我的文件目錄吧 第二 就可以寫查詢的 了 public partial class...

Linq 動態查詢

如果是傳統的應用程式開發,採取動態拼 sql字串的形式就可以解決了,但linq 是沒辦法間歇性判斷而拼接.首先ui上查詢條件的專案往往並不確定,如上圖目前有城市 訂單數目,將來可能有新的專案要增加,結果將導致 頻繁更改,對於這種情況無論是拼sql時代,還是如今的linq都不太容易應對,故而當有新的查...