我有一个IEnumerable<string>正在传递给我,它包含以下内容:
现在,我试图实现的是按字母顺序排列项目,但我希望other项目保持在最后。我已经使用了OrderBy(i => i)
其中列出的项目如下:
我想要的结果是
我尝试过使用.OrderBy(i => i != "Other").ThenBy(i => i),但这会将Other项目放在最前面。
有人能告诉我如何做到这一点吗?
发布于 2017-04-27 09:51:57
我试过使用
.OrderBy(i => i != "Other").ThenBy(i => i),但这会将其他项目放在最前面。
因此,您就快到了,您只需要颠倒第一个条件的排序顺序:将OrderBy替换为OrderByDesc ,或将替换为i == "Other。
当然,明确一点也没有坏处:布尔人的排序方式并不明显,所以我更喜欢这样做:
.OrderBy(i != "Other" ? 1 : 2).ThenBy(i => i);https://stackoverflow.com/questions/43654322
复制相似问题