我有列表,我想循环并按固定名称排序.如果说我的列表有项目,
List[0] = "Banana";
List[1] = "Orange";
List[2] = "Apple";
List[3] = "Olive";
Run Code Online (Sandbox Code Playgroud)
然后我想让橙色始终在顶部.所以我的订单将是Orange => Banana => Mango => Olive.
我只是不知道如何以自定义方式对其进行排序.
我试过用
list = list.OrderBy(x => x.Name).toList();
Run Code Online (Sandbox Code Playgroud)
但这会让橄榄油处于最顶层.有什么方法可以对此进行排序?有什么建议?
更新 如果列表中没有橙色,那么我不需要任何排序.
list = list.OrderBy(x => x.Name != "Orange").ToList();
Run Code Online (Sandbox Code Playgroud)
这会将"橙色"项目移动到列表顶部,因为键选择器将具有false这些项目的值.对于其他项目,它将是true.
您的字符串示例相同:
List.OrderBy(x => x != "Orange")
Run Code Online (Sandbox Code Playgroud)
给
Orange // false
Banana // true
Apple // true
Olive // true
Run Code Online (Sandbox Code Playgroud)