Если ваш список представляет собой список ссылок на класс, вам потребуется выполнить «глубокое клонирование» всего списка, чтобы сохранить историческую копию. В противном случае копия содержимого списка будет по-прежнему ссылаться на «живые» объекты, которые изменяются. Для этого потребуется код, такой как:
// This requires a way to "Clone" your object...
List<YourClass> listCopy = originalList.Select(item => item.Clone()).ToList();
Если список содержит типы значений (структура), вы можете просто создать новый List<YourType>
и скопировать исходные элементы поверх.
// If your type is a value type, you can just copy the list directly...
var listCopy = originalList.ToList();
Также - это не имеет ничего общего с INotifyPropertyChanged
. Сами по себе списки ничего не делают с событием PropertyChanged
.