C# orderby 子句
orderby子句如下所示:
orderby n
與where子句一樣,orderby子句也是可選的。只要添加一行,就可以對(duì)任意查詢的結(jié)果排序,而不使用UNQ時(shí),根據(jù)選擇實(shí)現(xiàn)的排序算法,需要額外編寫至少幾行代碼,還可能需要添加幾個(gè)方法或集合來存儲(chǔ)重新排序的結(jié)果。如果有多個(gè)需要排序的類型,就需要為每個(gè)類型實(shí)現(xiàn)一系列排序方法。而使用LINQ不需要做這些工作,只需要在查詢語句中添加一條子句即可。
orderby子句默認(rèn)為升序(A到Z),但可以添加descending關(guān)鍵字,以便指定為降序(Z到A):
orderby n descending
這會(huì)使示例的結(jié)果變成:
Smythe
Smith
Small
Singh
Samba
另外,可以按照任意表達(dá)式進(jìn)行排序,而不必重新編寫牽詢。例如,要按照姓名中的最后一個(gè)字母排序,而不是按一般的字母順序排序,就只需要添加如下orderby子句:
orderby n.Substring(n.Length - 1)
結(jié)果如下:
Samba
Smythe
Smith
Singh
Small
點(diǎn)擊加載更多評(píng)論>>