37 Stimmen

Effizientes Hinzufügen eines Wertebereichs zu einer ObservableCollection

Ich habe eine ObservableCollection von Elementen, die in meiner Ansicht an ein Listensteuerelement gebunden sind.

Ich habe eine Situation, in der ich eine Reihe von Werten an den Anfang der Sammlung hinzufügen muss. Collection<T>.Insert Dokumentation spezifiziert jede Einfügung als O(n)-Operation, und jede Einfügung erzeugt auch eine CollectionChanged Benachrichtigung.

Daher möchte ich idealerweise die gesamte Palette von Elementen in einem Zug einfügen, was bedeutet, dass die zugrunde liegende Liste nur einmal gemischt wird, und hoffentlich eine CollectionChanged Benachrichtigung (vermutlich ein "Reset").

Collection<T> bietet keine Methode, um dies zu tun. List<T> hat InsertRange() aber IList<T> dass Collection<T> stellt über seine Items Eigenschaft nicht.

Gibt es überhaupt eine Möglichkeit, dies zu tun?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X