【问题标题】:Sort List in C#C#中的排序列表
【发布时间】:2011-07-31 04:35:48
【问题描述】:

所以我有这个 C# 列表:

List<DatsWussup.Models.JQGridMessage> gridMessages = new List<DatsWussup.Models.JQGridMessage>();

每个JQGridMessage 都有一个名为age 的属性。按年龄排序此列表的最快和最有效的方法是什么(从小到大)。年龄是一个整数。

谢谢!

【问题讨论】:

    标签: c# list sorting


    【解决方案1】:

    List&lt;T&gt; 类有一个Sort 方法,可用于对数据进行就地排序。一个重载采用Comparison 委托,可以通过匿名函数实现。例如

    gridMessages.Sort((x, y) => x.Age.CompareTo(y.Age));
    

    【讨论】:

      【解决方案2】:

      使用 Linq:

      var sortedEnumerable = gridMessages.OrderBy(m => m.Age);
      

      这将返回一个按年龄排序的 IEnumerable。

      【讨论】:

      • 这不会对列表的实例进行排序,但会返回一个新的IEnumerable&lt;T&gt;
      【解决方案3】:
      gridMessages.Sort((m1, m2) => m1.Age.CompareTo(m2.Age));
      

      【讨论】:

        【解决方案4】:

        你能用吗:

        gridMessages = gridMessages.OrderBy(x => x.age).toList(); 
        

        【讨论】:

          猜你喜欢
          • 2018-08-06
          • 2011-04-12
          • 1970-01-01
          • 1970-01-01
          • 2011-09-30
          • 1970-01-01
          • 1970-01-01
          • 2011-10-29
          相关资源
          最近更新 更多