代码之家  ›  专栏  ›  技术社区  ›  Chris Conway

排序列表<datetime>降序

  •  42
  • Chris Conway  · 技术社区  · 16 年前

    在c(3.0或3.5,这样我们就可以使用lambdas)中,是否有一种优雅的方法按降序对日期列表进行排序?我知道我可以做一个直接的排序,然后扭转整个事情,

    docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate));
    docs.Reverse();
    

    但是是否有一个lambda表达式可以完成一个步骤?

    在上面的示例中,storedDate是一个类型为datetime的属性。

    4 回复  |  直到 8 年前
        1
  •  74
  •   Austin Salonen gmlacrosse    16 年前

    虽然还没有测试过…

    docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));
    

    应该和你原来的情况相反。

        2
  •  60
  •   Scott Baker    8 年前

    怎么了:

    docs.OrderByDescending(d => d.StoredDate);
    
        3
  •  20
  •   jonnii    16 年前
    docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));
    

    应该做你想做的。

        4
  •  6
  •   Tamas Czinege    16 年前
    docs.Sort((x, y) => -x.StoredDate.CompareTo(y.StoredDate));
    

    注意负号。