如何按 .NET 2.0 中的特定属性对列表进行排序? [复制]

Posted

技术标签:

【中文标题】如何按 .NET 2.0 中的特定属性对列表进行排序? [复制]【英文标题】:How to sort a list by a specific property in .NET 2.0? [duplicate] 【发布时间】: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 语法时,你能做类似的事情吗?

有单行排序语法吗?

【问题讨论】:

查看***.com/a/3309397/447156 【参考方案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;

【讨论】:

当它是对象列表时,我想按特定属性排序。

以上是关于如何按 .NET 2.0 中的特定属性对列表进行排序? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何按 C# 中的特定字段对对象列表进行排序?

按特定属性对类列表进行排序[重复]

如何在 Freemarker 中按特定值对列表进行分组?

Swift 2.0 按属性对对象数组进行排序

如何对 python 3 中的列表进行排序,优先考虑特定值?

如何对事件日志中的 .NET 2.0 错误报告消息进行故障排除?