ObservableCollection を注文する 新しいものを作成せずに [重複] 質問する

ObservableCollection を注文する 新しいものを作成せずに [重複] 質問する

コレクションを並べ替えるには次のコードを使用しますObservableCollection<T>

list = new ObservableCollection<SomeType>( list.OrderBy( c=>c.Ordinal ) );

このコードは動作しますが、「new」が含まれているのが気に入りません。ObservableCollection<T>新しいコレクションを作成せずに、コレクションの内部要素の順序を変更する方法はありますか?

ありがとう、

ベストアンサー1

Observableコレクションのカスタムソート拡張メソッドを実装する

 public static class ObservableCollection
 {
      public static void Sort<TSource, TKey>(this ObservableCollection<TSource> source, Func<TSource, TKey> keySelector)
      {
          List<TSource> sortedList = source.OrderBy(keySelector).ToList();
          source.Clear();
          foreach (var sortedItem in sortedList)
          {
              source.Add(sortedItem);
          }
     }
 }

上記の回答は、ジェイダー氏のこの質問に対する返答に触発されたものである。質問

おすすめ記事