我有一个绑定到某些DataGrid的ObservableCollection。在某些情况下,当我通过单击按钮调用某个命令时,我需要从集合中删除所有元素并添加一个新元素(可能有几个元素,但也有很多元素,可能不超过1000个)。这样做时,最好用新的值初始化ObservableCollection的新实例,像这样(警告-这种方式需要调用PropertyChanged事件):
collection = new ObservableCollection<T>(newValues);
或者最好清除所有元素,然后添加一个新的元素(因为ObservableCollection不包含方法AddRange):
collection.Clear();
foreach (T value in newValues)
{
collection .Add(value );
}
我之所以问是因为速度的影响,以及万一有很多元素时消耗的内存量。