使用任务并行库使用您自己的排序算法对可观测集合进行排序

本文关键字:排序 可观 集合 算法 并行 自己的 任务 | 更新日期: 2023-09-27 18:34:45

我有一个与Listbox绑定的ObservableCollection。我不想使用集合视图排序。我想使用 TPL 的合并排序算法。我知道我可以使用ListCollectionView,我有一个CustomSort的选项,并在那里放了新的Sort((。我有一个问题,如何使用任务并行库正确实现它?

使用任务并行库使用您自己的排序算法对可观测集合进行排序

如果您需要更好的性能来对列表进行排序,我建议您在使其成为可观察的集合之前对其进行排序。

当您更改 ObservableCollection 时,它会引发事件,这将严重影响性能。它还会使您的 UI 在排序的每一步更新,我假设您不希望这样做。

我认为您最好将其排序为列表,并在以后将任何 UI 元素重新绑定到它。这可能取决于列表的大小以及您正在寻找的性能。