How to sort a list by a specific property in .NET 2.0?
本问题已经有最佳答案,请猛点这里访问。
在.NET 4.0中,只需使用Linq按特定属性快速排序列表:
1 2 | List<Point> list = ...; sorted = list.OrderBy(p => p.X).ToList(); // sort list of points by X |
当您不能使用.NET 4.0 LINQ语法时,您能做类似的事情吗?
有单行排序语法吗?
您需要使用一个委托,几乎是一行代码:)
1 2 3 | list.Sort(delegate(Point p1, Point p2){ return p1.X.CompareTo(p2.X); }); |
检查排序方法,取
1 2 3 4 5 6 7 8 9 10 | var list = new List<Point>{ /* populate list */ }; list.Sort(Comparison); public int Comparison (Point a, Point b) { //do logic comparison with a and b return -1; } |