【问题标题】:C# list.Orderby descendingC# list.Orderby 降序
【发布时间】:2011-04-24 22:13:44
【问题描述】:

我希望收到一份按“Product.Name”降序排序的列表

类似于下面的函数以升序对列表进行排序,只是相反,这可能吗?

var newList = list.OrderBy(x => x.Product.Name).ToList();

【问题讨论】:

  • 问题可能是你写的是toList而不是ToList
  • 我认为他的意思是它不接受descending关键字,因为他没有以from x in list...开始他的表达
  • 抱歉,我没有完全复制该代码,而是从内存中输入的。我的实际代码有效,但只返回一个按升序排序的列表。

标签: c# list sorting sql-order-by


【解决方案1】:

看看我项目中的这段代码

我正在尝试根据模型中的属性重新排序列表,

 allEmployees = new List<Employee>(allEmployees.OrderByDescending(employee => employee.Name));

但是我在small and capital letters exist时遇到了问题,所以为了解决它,我使用了字符串比较器。

allEmployees.OrderBy(employee => employee.Name,StringComparer.CurrentCultureIgnoreCase)

【讨论】:

    【解决方案2】:
    var newList = list.OrderBy(x => x.Product.Name).Reverse()
    

    这应该可以完成工作。

    【讨论】:

      【解决方案3】:

      当然:

      var newList = list.OrderByDescending(x => x.Product.Name).ToList();
      

      文档:OrderByDescending(IEnumerable, Func).

      回应您的评论:

      var newList = list.OrderByDescending(x => x.Product.Name)
                        .ThenBy(x => x.Product.Price)
                        .ToList();
      

      【讨论】:

      • 所以您的编辑将按名称(从 z->a)然后价格(低 -> 高)排序?
      • 是的,没错。对 OrderBy 或 ThenBy 的调用总是递增的。 OrderByDescending 和 ThenByDescending 方法是您用于降序的方法。
      【解决方案4】:
      list = new List<ProcedureTime>(); sortedList = list.OrderByDescending(ProcedureTime=> ProcedureTime.EndTime).ToList();
      

      这对我来说可以按降序显示时间。

      【讨论】:

        【解决方案5】:
        list.OrderByDescending();
        

        为我工作。

        【讨论】:

        • 这没有做 list = list.OrderByDescending().toList();
        【解决方案6】:

        是的。使用OrderByDescending 而不是OrderBy

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-11
          • 1970-01-01
          • 2021-08-15
          • 1970-01-01
          相关资源
          最近更新 更多