按时间排序日期时间列表

我有一个日期时间列表,如果可能的话,我想使用lambda表达式对其进行排序。

我的列表:

6/19/1979 8:00:00 AM 5/5/1980 7:00:00 PM 10/20/1982 5:00:00 PM 1/4/1984 6:00:00 AM 

输出应按以下顺序排列:

 1/4/1984 6:00:00 AM 6/19/1979 8:00:00 AM 10/20/1982 5:00:00 PM 5/5/1980 7:00:00 PM 

简单地说, OrderBy TimeOfDay

 var list = dateList.OrderBy(x => x.TimeOfDay).ToList(); // ToList added in response to comment. 

只有在所有日期都相同的情况下才能使用以上内容,如果日期也不同,您应该执行以下操作…

 var sortedDates = dates.OrderByDescending(x => x); 

或者不想使用,或者不知道Linq然后你可以去追随..

 static List SortAscending(List list) { list.Sort((a, b) => a.CompareTo(b)); return list; } static List SortDescending(List list) { list.Sort((a, b) => b.CompareTo(a)); return list; } 
 var result=dates.OrderBy(d=>dd.Date); 

使用此解决方案

 list YourList=new list (); . . . YourList.OrderByDescending(x=>x.Date).ThenByDescending(x=>x.TimeOfDay).ToList() 

list.Sort((a, b) => a.CompareTo(b)); 列表是List列表变量。