gpt4 book ai didi

c# - 以 desc 或 asc 排序列表,具体取决于它当前是什么

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:11 25 4
gpt4 key购买 nike

我有一个列表,我想按照与当前顺序相反的顺序对结果进行排序,以模仿用户单击列标题超链接。目前,我有以下内容:

 dsList.Sort((x, y) => String.CompareOrdinal(x.DisplayName, y.DisplayName));

但这只是升序排序。我知道我会做降序排序:

 dsList.Sort((x, y) => String.CompareOrdinal(x.DisplayName, y.DisplayName)*-1);

但是,我不想检测它当前是什么并决定要进行哪种排序。

有道理吗?

谢谢。

澄清一下,我不能使用 Reverse,因为我有超过 1 列可以作为排序依据,所以我需要能够指定要排序的值。

以下有效,但不适用于空值。如果有空白,排序就会卡住。

  dsList.Sort((x, y) => String.CompareOrdinal(x.Surname, y.Surname) * (strB != null && (strA != null && String.Compare(strA, strB) == -1) ? -1 : 1));

最佳答案

怎么样

dsList.Sort((x, y) => String.CompareOrdinal(x.DisplayName, y.DisplayName)*(dsList[0] < dsList[1]?-1:1));

编辑:在您的评论中,当存在重复值或空值时,您似乎遇到了问题......这应该可以解决这个问题

dsList.Sort((x, y) => String.CompareOrdinal(x.DisplayName, y.DisplayName)*String.CompareOrdinal(dsList[0].DisplayName, dsList[dsList.Length-1].DisplayName));

关于c# - 以 desc 或 asc 排序列表,具体取决于它当前是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350238/

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