【发布时间】:2011-07-31 04:35:48
【问题描述】:
所以我有这个 C# 列表:
List<DatsWussup.Models.JQGridMessage> gridMessages = new List<DatsWussup.Models.JQGridMessage>();
每个JQGridMessage 都有一个名为age 的属性。按年龄排序此列表的最快和最有效的方法是什么(从小到大)。年龄是一个整数。
谢谢!
【问题讨论】:
所以我有这个 C# 列表:
List<DatsWussup.Models.JQGridMessage> gridMessages = new List<DatsWussup.Models.JQGridMessage>();
每个JQGridMessage 都有一个名为age 的属性。按年龄排序此列表的最快和最有效的方法是什么(从小到大)。年龄是一个整数。
谢谢!
【问题讨论】:
List<T> 类有一个Sort 方法,可用于对数据进行就地排序。一个重载采用Comparison 委托,可以通过匿名函数实现。例如
gridMessages.Sort((x, y) => x.Age.CompareTo(y.Age));
【讨论】:
使用 Linq:
var sortedEnumerable = gridMessages.OrderBy(m => m.Age);
这将返回一个按年龄排序的新 IEnumerable。
【讨论】:
IEnumerable<T>。
gridMessages.Sort((m1, m2) => m1.Age.CompareTo(m2.Age));
【讨论】:
你能用吗:
gridMessages = gridMessages.OrderBy(x => x.age).toList();
【讨论】: