我有一个名为RateQuote
的对象,其中包含以下内容:
例如:
rate = new RateQuote() {
Term = 24,
Miles = 120000,
Name = '24 mo. / 120000 miles'
}
和
rate = new RateQuote() {
Term = 24,
Miles = 50000,
Name = '24 mo. / 50000 miles'
}
和
rate = new RateQuote() {
Term = 12,
Miles = 50000,
Name = '12 mo. / 50000 miles'
}
这些RateQuote
被添加到RateQuote []对象中:
public void AddRate(RateQuote rate)
{
Rates = Rates.Concat(new RateQuote[] { rate }).ToArray();
}
在.Concat
添加它们之后,我该如何排序?如果我的代码首先添加“24 mo。/ 120000英里”,然后是“24 mo。/ 50,000英里”秒,然后是“12 mo。/ 50000 miles”,那么我希望它能够对它进行排序以便它是按此顺序:
它应该先按几个月排序,然后按里程排序。我很困惑,也很感激帮助。我知道我可以使用.Sort
函数,但不确定如何在此上下文中使用它。提前感谢您的所有帮助。
答案 0 :(得分:9)
您希望首先按Term
订购,然后按Miles
订购。然后你可以使用:
var sorted = Rates
.OrderBy(r=> r.Term)
.ThenBy(r=> r.Miles)
.ToArray();
答案 1 :(得分:1)
您可以使用linq,例如:
var orderedRates = rates.GroupBy(rq => rq.Term)
.OrderBy(g => g.Key)
.SelectMany(g => g.OrderBy(rq => rq.Miles))
.ToArray();