3
我有以下的LINQ排序依據條款:LINQ排序依據條款 - 強制某些字符串始終在頂部
Menu[] sorted = ret.OrderBy(menu => menu.Title).ToArray();
這個偉大的工程,如菜單在其標題的順序進行排序。
但是,如果標題碰巧是「收藏夾」,我希望它永遠是數組中的第一個元素,無論如何。
這樣做最簡單的方法是什麼?謝謝!
我有以下的LINQ排序依據條款:LINQ排序依據條款 - 強制某些字符串始終在頂部
Menu[] sorted = ret.OrderBy(menu => menu.Title).ToArray();
這個偉大的工程,如菜單在其標題的順序進行排序。
但是,如果標題碰巧是「收藏夾」,我希望它永遠是數組中的第一個元素,無論如何。
這樣做最簡單的方法是什麼?謝謝!
我會說:
Menu[] sorted = ret.OrderBy(menu => menu.Title != "Favorites")
.ThenBy(menu => menu.Title)
.ToArray();
我想你應該在第一條語句 – Nagg 2011-12-20 06:45:25
是的使用OrderByDescending,或者只是做一個'=',而不是''== - 無論哪種方式,這個偉大的工程! – 2011-12-20 06:46:12
不,它將'true'解釋爲'1':'OrderBy'從最低到最高,從'0'到'1',從'假'到'真'。 – hvd 2011-12-20 06:59:12