如何根据特定字段(sort expression
)和方向(sort direction
)对对象列表进行排序..
例如:
TransactionList.ToList<UserTransactionDTO>()
答案 0 :(得分:4)
假设您的列表是自定义类型的列表,并且您希望按一个或多个属性进行排序:
var trans = transactions.OrderBy(t => t.PropertyName)
.ThenBy(t => t.DifferentPropertyName)
如果您想订购降序:
var trans = transactions.OrderByDescending(t => t.PropertyName)
.ThenByDescending(t => t.DifferentPropertyName)
答案 1 :(得分:1)
public class Person
{
public String Name { get; set; }
public int Age { get; set; }
}
var people = new List<Person>(); //Fill it
var sorted = people.OrderBy(p => p.Name).ThenBy(p => p.Age);
否则使用OrderByDescending();
希望这有帮助!
答案 2 :(得分:1)
如果您想使用复杂的排序,也可以使用IComparer<T>
。