我正在寫的ObservableCollection的擴展方法,並已閱讀了。新增功能提高了3財產每次呼叫改變事件,最佳性能ObservableCollection.AddRange
所以這樣的事情是一個壞主意:
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); }
}
還有其他解決方案嗎?
如果你想了解的表現,衡量它。 –
'Concat'不修改'oc',所以第二種方法沒有意義。 – BartoszKP
澄清@BartoszKP寫的是什麼'Concat'是一個linq方法,不會修改集合。它返回一個新的'IEnumerable',它包含'oc'和'collection'。 –
Peter