Lambda RemoveAll

0

Mam pytanie na temat RemoveAll.
Poniższy przykłąd mi działa i jestem w stanie go zrozumieć:

            List<int> list = new List<int>();
            list.Add(1);
            list.Add(2);
            list.Add(2);
            list.Add(4);
            list.Add(5);

            //Usunie wszystkie 2
            list.RemoveAll(item => item == 2);

Wykona się i lista ma wtedy 3 wartości, 1,4,5

Następnie przy takim potworku:

SelectedDevelopmentPlan.DevelopmentActions.ToList<DevelopmentAction>().RemoveAll(x => x.ActionStatus.ActionStatusID == 4);

Niestety to nie usuwa mi nic. Pewnie to jakas głupota... :-(

2

ToList kopiuje wszystkie elementy z SelectedDevelopmentPlan.DevelopmentActions do nowej listy. Tak że musisz ją może do czegoś przypisać

var list = SelectedDevelopmentPlan.DevelopmentActions.ToList();
list.RemoveAll(x => x.ActionStatus.ActionStatusID == 4);

1 użytkowników online, w tym zalogowanych: 0, gości: 1