4

日付付きのアイテムの降順リストを表示したいのですが、orderby句で二重ソートを実行できないようです。通常のアメリカ人にとっては、最初に年、次に月、次に日で並べ替えます。以下のコードも参照してください。

2012年10月21日=2012年10月21日

2012年12月3日=2012年12月3日

2013年1月15日=2013年1月15日

どのように並べ替えても、常に以下のように表示されます。文字列フォーマッタを変更しようとしましたが、正しく機能していないようです。句にいくつかのconvert/parseメソッドを追加しましたが、それは役に立ちませんでした。これは非常に長いリストで動作するモバイルアプリであるため、高性能のソリューションを探しています。これを行うための最速の方法は何ですか?カスタム比較ツールを作成しますか?2番目のorderby句を実行する方法はありますか?

私がいつも目にするのは、なぜ2013年は2012年以降ではないのですか?

2013年1月15日

2013年10月21日

2012年12月3日

IEnumerable<Group<FeedItem>> sortedItems = 
    from feedItem in _localLists.CustomList
    group feedItem by feedItem.EventDate
    into c
    orderby 
        (DateTime.ParseExact(c.Key, "MM-dd-yyyy", 
            CultureInfo.InvariantCulture)) ascending
    select new Group<FeedItem>(c.Key, c);
4

1 に答える 1

0

戻って文字列を DateTime に変更しましたが、これは明らかにプラスです。問題は表示のみでした。リストのグループ化、フィルタリング、および並べ替えにテレリック コントロールを使用していましたが、linq は私が見ているものを動かしていませんでした。解決策は、UI の設定が正しくないことでした。

于 2012-12-19T04:32:22.837 に答える