0

配列リストのデータを降順 (日付) でフェッチする必要があります。このために、ラムダ式の orderby 機能を使用しています。しかし、これをしている間、私は問題に直面しています。null 日付の場合はエラーを返します。エラーは「入力文字列が正しい DateTime ではありません」です。

例:

var comnData = ch.Request.NsType.SomeCollection.Cast<MiscType>().Select(x => x.Data).Where(x => !string.IsNullOrEmpty(x.Date)).OrderByDescending(x => DateTime.ParseExact(x.Date, @"dMyyyy", culture));

where句を使用しないと、エラーがスローされます。使用すると、日付が null のデータを取得できません。

4

2 に答える 2

3

三項演算子を使用できます

OrderByDescending(x => x.Date!=null? DateTime.ParseExact(x.Date, @"dMyyyy", culture):DateTime.MinValue)
于 2013-10-01T05:34:20.170 に答える
1

OrderByDescending ラムダ式で null を確認し、その場合はデフォルトの日付 (「1970-01-01」など) を返すだけです。

于 2013-10-01T05:27:27.523 に答える