ObservableCollection <T>инициализирует новый экземпляр или удаляет и добавляет - PullRequest
0 голосов
/ 17 января 2020

У меня есть ObservableCollection, привязанная к некоторой DataGrid. В некоторых случаях, когда я вызываю какую-либо команду, нажимая кнопку, мне нужно удалить все элементы из коллекции и добавить новый один раз (может быть несколько элементов, но их также много, вероятно, не более 1000). При этом лучше инициализировать новый экземпляр ObservableCollection с новыми значениями, что-то вроде этого (предупреждение - так должно вызываться событие PropertyChanged):

collection = new ObservableCollection<T>(newValues);

или лучше очистите все элементы, а затем добавьте новые, подобные этому (поскольку ObservableCollection не содержит метод AddRange):

collection.Clear();
foreach (T value in newValues)
{
    collection .Add(value );
}

Я спрашиваю из-за эффекта скорости и количества потребляемой памяти когда в кейсе много элементов.

...