gpt4 book ai didi

c# - 使零出现在排序的整数列表中的最后

转载 作者:太空狗 更新时间:2023-10-29 18:02:25 26 4
gpt4 key购买 nike

我有一个对象列表,想按某些属性对它们进行排序

List<Foo> foo = GetList();    
return foo.OrderBy(foo => foo.DisplayOrder);

要注意的是,当 DisplayOrder 为零时,我需要将该项目放在最后 位置。

我的问题和make zero appear last in a list of ascending numbers一样但在 C# 中。这很容易解决,但我希望看到一些有创意、简洁的答案。

最佳答案

您可以使用可以按 bool 值排序的事实。如果您首先按 DisplayOrder == 0 进行排序,则所有零值的结果都是 true,所有其他值的结果都是 false。由于 true 将在 false 之后排序,所有零值都将在最后:

return foo.OrderBy(x => x.DisplayOrder == 0)
.ThenBy(x => x.DisplayOrder);

关于c# - 使零出现在排序的整数列表中的最后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com