2017-10-13 26 views
0

dateTimeに基づいて降順と昇順の両方のレコードを並べ替える単純なlinqクエリがあります。何らかの理由で、13:00:00に失敗しています。LINQ OrderByクエリがdateTimeの降順で正しくソートできない

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

2PM、1PM、12PMをソートするはずです。しかし、1 PMの記録は終わりに来ます。

質問には何か問題がありますか?どんな提案も役に立ちます。

おかげで(失敗)を下降することにより

注文

2017年10月12日二時00分56秒PM
2017年10月12日2時00分50秒PM
2017年10月12日午前12時29分41秒PM
2017年10月12日12時28分三十二秒PM
2017年10月12日午前12時27分35秒PM
2017年10月12日11時21分三十五秒AM
10/12/2017 11:14:16 AM
10/12/2017 1時49分28秒PM
2017年10月12日1時43分23秒PM

(正しい)昇順順

2017年10月12日午前12時27分35秒PM
10月12日/ 2017十二時28分32秒PM
2017年10月12日午前12時29分41秒PM
2017年10月12日1時43分23秒PM
2017年10月12日午前1時49分28秒PM
10/12/2017 2:00:50 PM
10/12/2017 2:00:56 PM

+2

あなたの 'x.DateTime'と' x.Time'プロパティは何ですか? 'sortedrecords'オブジェクトのクラスがどのように見えるかを示してください。 – Sach

+0

'OrderByDescending(x => x.DateTime.Date).ThenBy(x => x.Time); ' –

+0

@sach DateTimeプロパティはこのように見えます10/12/2017 12:23:28 PM。私もこのソートレコードを試してみました= sortedrecords.OrderByDescending(x => x.DateTime); –

答えて

0

オブジェクトタイプ、カラムタイプ、データベース(あなたが使っていると仮定して)、なぜカラム名として.Netクラスタイプ名を使用したのかなどの理由で、あなたは匿名オブジェクトを扱っていると仮定します。 a List

sortedrecords = sortedrecords.OrderByDescending(x => DataTime.Parse(x.DateTime)); 
関連する問題