Jon*_*all 3 c# linq ienumerable
我在工作中遇到了这个问题,虽然我有一个解决方案,但我不禁觉得有更优雅的方式.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));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |