Ваш звонок на .ToList()
создает новый список , и в итоге вы удаляете элемент из этого списка .
Что бы вы ни называли ChartAttributes
, вывы не касаетесь его содержимого.
По сути, вы делаете это:
var newList = ChartAttributes.ToList();
newList.RemoveAll(...);
Если бы вы проверяли содержимое newList
на этом этапе, вы заметили бы, чтоВаш объект (ы) был удален, но ChartAttributes, независимо от типа, все еще содержит эти объекты.
Вам придется удалять объекты непосредственно из ChartAttributes, но так как вы не сказали, какой тип этоЯ не могу дать вам пример того, как это сделать.