gpt4 book ai didi

c# - 有没有更好的方法来订购 IEnumerable 以匹配任意顺序?

转载 作者:行者123 更新时间:2023-11-30 13:39:59 25 4
gpt4 key购买 nike

我在工作中遇到了这个问题,虽然我有解决方案,但我不禁觉得还有更优雅的方法。 List.IndexOf() 的使用对我来说有点老套。

我必须按信用评级对一组 BreakdownItems 进行排序。信用评级不遵循字母顺序,因此我将它们视为具有某种任意的、非逻辑的顺序。

IEnumerable<BreakdownItem> unsortedCreditRatings = new List<BreakdownItem>
{
new BreakdownItem{ Name = "CCC", Weight=20d},
new BreakdownItem{ Name = "AA", Weight=20d},
new BreakdownItem{ Name = "AAA", Weight=10d},
new BreakdownItem{ Name = "B", Weight=50d},
};

var sortOrder = new List<string>
{ "AAA", "AA", "A", "BBB", "BB", "B", "CCC", "below CCC" };

var sortedRatingBreakdown = unsortedCreditRatings
.OrderBy(item => sortOrder.IndexOf(item.Name));

最佳答案

您能否将信用评级设为枚举而不是字符串?然后,您可以为这些枚举值分配正确的排序顺序。

关于c# - 有没有更好的方法来订购 IEnumerable 以匹配任意顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319647/

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