在 lambda 表达式中,如何按 DateTime 值列表而不是对象进行排序?例如,我想通过以下查询获取最近的 3 个发薪日期:
var hires = (from e in md.Employee
where e.HireDate.Year == 2011
select e.HireDate).Distinct();
//at this point hires =
6/3/2011
5/15/2011
6/1/2011
7/1/2011
我的假设是我可以执行 .OrderByDescending(x => x).Take(3)
,但是当我这样做时我没有得到 7/1/2011(只是第一个3 以上)。这就像 OrderByDescending 被忽略了。
我做错了什么?
最佳答案
您确定 orderby 和 distinct 的顺序正确吗?
尝试:
var hires = (from e in md.Employee
where e.HireDate.Year == 2011
select e.HireDate).Distinct().OrderByDescending(e => e);
关于c# - DateTime 列表上的 OrderByDescending 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810651/