Beste Leistung für die ObservableCollection.AddRange

Schreibe ich eine extension Methode für ObservableCollection und habe gelesen, dass die .Add-Funktion wirft 3 Eigenschaft verändert Ereignisse pro Anruf,

So, dass sowas eine schlechte Idee ist:

public static void AddRange<T>(this ObservableCollection<T> oc, IEnumerable<T> collection)
{
    if (collection == null) { throw new ArgumentNullException("collection"); }
    foreach (var i in collection) { oc.Add(i); }
}

Gibt es irgendwelche andere Lösungen?

Wenn Sie wissen wollen, die Leistung zu Messen.
Concat nicht ändern oc so der zweite Ansatz macht keinen Sinn.
Um zu klären, was @BartoszKP schrieb Concat ist eine linq-Methode und nicht ändern der Sammlung. Es gibt ein neues IEnumerable<T> enthält oc und collection.
Vielen Dank - ich habe bearbeitet Sie meine Frage entfernen der concat Beispiel.

InformationsquelleAutor Charles W | 2014-03-03

Schreibe einen Kommentar