ObservableCollection을 Listbox로 바인드했습니다. 나는 CollectionView 정렬을 사용하고 싶지 않다. TPL을 사용하여 병합 정렬 알고리즘을 사용하고 싶습니다. ListCollectionView를 사용할 수 있고 CustomSort에 대한 옵션이 있고 새로운 Sort()를 넣을 수 있다는 것을 알고 있습니다. 작업 병렬 라이브러리를 올바르게 구현하는 방법에 문제가 있습니까?작업 병렬 라이브러리를 사용하여 ObservableCollection을 사용자 고유의 정렬 알고리즘으로 정렬
1
A
답변
0
목록을 정렬하는 데 더 나은 성능이 필요한 경우 관찰 가능한 컬렉션으로 만들기 전에 정렬하는 것이 좋습니다.
ObservableCollection은 이벤트를 변경하면 성능에 악영향을 미칩니다. 또한 정렬의 각 단계에서 UI를 업데이트하므로 사용자가이를 원하지 않습니다.
목록으로 정렬하고 나중에 UI 요소를 리 바인딩하는 것이 더 좋습니다. 이것은 아마도 목록의 크기와 찾고자하는 성능에 달려 있습니다.
관련 문제
- 1. ObservableCollection을 문자열로 정렬
- 2. 랜덤 알고리즘으로 순위 매기기를 사용하여 정렬
- 3. 병렬 배열 정렬
- 4. VBA를 사용하여 작업 정렬?
- 5. Java 정렬 병렬 배열
- 6. 병렬 병합 정렬
- 7. 항목 클래스의 날짜 값을 기준으로 ObservableCollection을 정렬
- 8. Objective-C의 삽입 정렬 알고리즘으로 iphone에서 구현
- 9. 선택 정렬. 안정적인 알고리즘으로 선택 정렬하는 방법?
- 10. 스칼라 병렬 정렬 java.util.Arrays 및 scala.concurrent.ops.par을 사용하여
- 11. 프로필 자바 병렬/순차 정렬
- 12. 자바 스크립트에서 병렬 배열 정렬
- 13. C에서 작업 병렬 라이브러리를 사용하는 병렬 작업 타이밍
- 14. C#의 Linq 라이브러리를 사용하여 정렬
- 15. Dgrid를 사용하여 사용자 지정 정렬
- 16. jQuery 사용자 목록 정렬
- 17. 우선 순위별로 작업 정렬
- 18. 사용자 수정없이 GridView 정렬
- 19. C#의 작업 병렬 라이브러리를 사용하여 프로세서 당 하나의 병렬 작업 실행
- 20. 병렬 작업 라이브러리를 사용할 때 'foreach'가 실패합니다.
- 21. 이 병렬 정렬 병합이 올바르게 구현 되었습니까?
- 22. 사용자 정렬 정렬 데이터 소스 바운드 gridview
- 23. SortableTable의 사용자 지정 정렬
- 24. IEnumerable 구현에서 작업 병렬 라이브러리를 사용하여 속도 향상을 얻으십시오.
- 25. observableCollection을 만드는 방법
- 26. DataGridview의 사용자 지정 정렬
- 27. 병렬 정렬 병합시 메모리 부족 오류
- 28. 사용자 정의 정렬 배열
- 29. LINQ로 사용자 지정 정렬
- 30. 시퀀스 정렬 여부를 확인하는 병렬 알고리즘
병합 정렬을 구현했습니다. IComparable을 지원하고 CompareTo 메서드를 구현하는 클래스 모델이 있습니다. 사용자 지정 LINQ 확장을 사용하는 ObservableCollection을 정렬합니다. 그건 내 새로운 클래스 MergeSort 메서드 (이 Ilist obj)를 매개 변수로 사용하여 Sort입니다. 식은 일반 컬렉션의 항목이 IComparable을 지원한다는 가정하에 병합 정렬을 수행합니다. 예를 들어 ObservableCollection _person이 있고 _person.MergeSort()를 호출하면됩니다. 작업과 함께 사용하는 방법을 모르겠습니다. @svick – Flipper
문제는 CollectionView가 지원하지 않는다고 생각합니다. Dispatcher.Invoke를 사용했을 수도 있습니다. – Flipper