C# LINQ OrderBy子句-强制某些字符串始终位于顶部
我有以下LINQ OrderBy条款:C# LINQ OrderBy子句-强制某些字符串始终位于顶部,c#,.net,linq,C#,.net,Linq,我有以下LINQ OrderBy条款: Menu[] sorted = ret.OrderBy(menu => menu.Title).ToArray(); 这非常有效,因为菜单是按照标题的顺序排序的 但是,如果标题恰好是“Favorites”,我希望它始终是数组中的第一个元素,无论发生什么 最简单的方法是什么?谢谢 我想说: Menu[] sorted = ret.OrderBy(menu => menu.Title != "Favorites")
Menu[] sorted = ret.OrderBy(menu => menu.Title).ToArray();
这非常有效,因为菜单是按照标题的顺序排序的
但是,如果标题恰好是“Favorites”,我希望它始终是数组中的第一个元素,无论发生什么
最简单的方法是什么?谢谢 我想说:
Menu[] sorted = ret.OrderBy(menu => menu.Title != "Favorites")
.ThenBy(menu => menu.Title)
.ToArray();
我认为你应该在第一句话中使用OrderByDescending是的,或者只是做一个
=
而不是==
-无论哪种方式,这都非常有效!不,它将true
解释为1
:一个OrderBy
从最低到最高,从0
到1
,从false
到true
。