【问题标题】:How to sort a list by a specific property in .NET 2.0? [duplicate]如何按 .NET 2.0 中的特定属性对列表进行排序? [复制]
【发布时间】:2013-04-01 11:37:06
【问题描述】:

在 .NET 4.0 中,您可以简单地使用 LINQ 按特定属性快速排序列表:

  List<Point> list = ...;    
  sorted = list.OrderBy(p => p.X).ToList(); // sort list of points by X

当你不能使用 .NET 4.0 LINQ 语法时,你能做类似的事情吗?

有单行排序语法吗?

【问题讨论】:

标签: c# .net linq sorting syntax


【解决方案1】:

您需要使用委托,几乎是单线:)

list.Sort(delegate(Point p1, Point p2){
        return p1.X.CompareTo(p2.X);
});

【讨论】:

    【解决方案2】:

    检查Sort 方法,该方法采用Comparison&lt;T&gt;。来自.NET 2.0

    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;
    }
    

    【讨论】:

    • 当它是对象列表时,我想按特定属性排序。
    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 2015-09-21
    • 2021-06-22
    • 1970-01-01
    • 2010-10-26
    • 2020-04-30
    • 1970-01-01
    • 2012-08-05
    相关资源
    最近更新 更多