UWP(Prism version6.3)で、アプリの開発を行っております。
下記内容を実装したいと思い、色々と調べてみたのですが、実装方法が分からなかったため、質問させていただきます。
実現したいこと
DatimeOffset型の3つのメンバが含まれたListが存在し、そのDatimeOffset型の3つのメンバをもとに、Listのソートを行いたいと考えております。また、このDatimeOffset型のメンバは、NULL許容でもありますので、そちらの対応も行いたいと思っております。
※すみません、自分の意図が正しく伝わっていなかったもしれないため、今一度、追記をさせていただきます(2019.8.27.12:53)
1.TakenTimeで降順のソートを行う。(nullのものは一番最後に来る。)
2.(1.TakenTimeが同じだった場合)CreatedAtで、降順にソートを行う。(nullのものは一番最後に来る。)
3.(2.CreateAtが同じだった場合)UpdatedAtで、降順にソートを行う。(nullのものは一番最後に来る。)
この順でソートを行いたいと思っております。今一度、アドバイスございましたら、よろしくお願いいたします。
調べたこと/試したこと
単一のメンバーの場合は、下記で実現できることを確認済みです。
c#
1PhotoList.Sort((a, b) => Nullable.Compare(b.TakenTime, a.TakenTime));
null許容に対しては、参考文献を参考に下記のようにしたらうまくいくのではないかと思いましたが、できませんでした。
※実際に実現したいことは、下記のようなソートになります。
c#
1PhotoList.OrderBy(x => x.TakenTime ).ThenBy( x => x.TakenTime ).ThenBy(x=> x.CreatedAt).ThenBy(x=> x.UpdatedAt);
参考文献
http://www.remember-the-time.xyz/2016/08/c-sharp-linq-orderby-include-null.html
以上、アドバイスいただけますと幸いです。
どうぞ、よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー