gpt4 book ai didi

c# - 如何使用我自己的逻辑对列表进行排序(不是按字母顺序或数字顺序)

转载 作者:太空宇宙 更新时间:2023-11-03 22:08:32 24 4
gpt4 key购买 nike

在过去的 30 分钟里,我花了 30 分钟浏览了现有的答案,以找到我认为是一个常见问题的答案,但没有什么适合我的。如果这是一个骗局,我们深表歉意。

我有一个对象列表。

List<Journey> journeys;

该对象有一个“状态”属性 - 这是一个字符串。

class Journey
{
public string Name;
public string Status;
}

我想根据这个字符串排序,但不是按字母顺序排序。状态描述了对象在旅程中的位置,可以是“途中”、“完成”或“错误”。当按升序排序时,我希望它们按以下顺序出现:“错误”、“途中”、“完成”。 (在实践中有比这更多的状态,所以将它们重命名为按字母顺序排列不是一种选择)

除了为“状态”创建一个具有值和排序顺序属性的类,然后基于它进行排序之外,我该怎么做?或者这是最好的方法?

最佳答案

您可以在提供给 Comparison 的自定义函数中定义排序逻辑。代表:

List<Journey> list = new List<Journey>();

list.Sort(new Comparison<Journey>((Journey source, Journey compare) =>
{
// here is my custom compare logic
return // -1, 0 or 1
}));

关于c# - 如何使用我自己的逻辑对列表进行排序(不是按字母顺序或数字顺序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539465/

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