LINQ OrderBy查询无法通过降序dateTime进行正确排序

时间:2017-10-13 16:56:04

标签: c# .net linq sorting datetime

我有一个简单的linq查询,它根据dateTime下降和递增对记录进行排序。出于某种原因,它在13:00:00失败了。

sortedrecords = sortedrecords.OrderByDescending(x => x.DateTime).ThenBy(x=>x.Time);

它应该在下午2点,下午1点,下午12点排序。但下午1点的记录到了最后。

我的查询有问题吗?任何建议都会有所帮助。

由于

按降序排序(失败)

10/12/2017 2:00:56 PM
10/12/2017 2:00:50 PM
10/12/2017 12:29:41 PM
10/12/2017 12:28:32 PM
10/12/2017 12:27:35 PM
10/12/2017 11:21:35上午 10/12/2017 11:14:16上午 10/12/2017 1:49:28 PM
10/12/2017 1:43:23 PM

按升序排列(正确)

10/12/2017 12:27:35 PM
10/12/2017 12:28:32 PM
10/12/2017 12:29:41 PM
10/12/2017 1:43:23 PM
10/12/2017 1:49:28 PM
10/12/2017 2:00:50 PM
10/12/2017 2:00:56 PM

1 个答案:

答案 0 :(得分:0)

由于您没有具体说明您的对象类型,列类型,数据库(假设您使用的是),为什么使用.Net类类型名称作为列名等,我将假设您是处理List中的匿名对象:

sortedrecords = sortedrecords.OrderByDescending(x => DataTime.Parse(x.DateTime));