OrderBy TimeOfDay不起作用

时间:2014-01-13 18:00:40

标签: c# linq

l.DateTimeRecorded包含一个带有DateTime的字符串。 FormatConverter返回正确的DateTime类。

但是列表仍然没有正确排序,我错过了什么? “最新”项目应位于顶部......

lines = lines.OrderBy( l => FormatConverter.FormatDateTime( l.DateTimeRecorded ).TimeOfDay ).ToList();

public static DateTime FormatDateTime( string dateTime )
{
     var dateTimeValue = DateTime.Parse( dateTime, System.Globalization.CultureInfo.GetCultureInfo( "en-US" ) );
     return dateTimeValue;
}

解决方案

l.DateTimeRecorded中提供的DateTime不包含秒数。

1 个答案:

答案 0 :(得分:0)

OrderBy正在对您的值ascending顺序进行排序。还有另一种名为OrderByDescending的扩展方法可以进行降序排序:

lines = lines.OrderByDescending( l => FormatConverter.FormatDateTime( l.DateTimeRecorded ).TimeOfDay ).ToList();