[Technical Issue] C# Basics - RemoveAll метод
Здравейте,
Как мога да премахна дадена дума от някакъв стринг лист навсякъде?
names.RemoveAll(names[0]); - това ми дава инвалиден аргумент. В интернет намерих някакви ламбада изрази, но не можах да се оправя - трият каквото, където и когато си поискат. Някой може ли да ми помогне? Искам да изтрия всички позиции в листа, които съвпадат с думата, написана в names[0].
Това го опитах но не работи както трябва. Трие каквото си иска. Може би нещо друго по кода ми не е както трябва. Става дума за задача 12 от последното домашно Count of Names. Идеята ми е да подредя листа по азбучен ред, да проверя за първото име колко пъти се появява, да го изпечатам и да го изтрия навсякъде, където се появява.
Ето кода:
http://pastebin.com/saLPKPdY
Благодаря предварително!
А пробва ли с друго име в callback-а? Тъй като ползваш елемента от форийча, който най-вероятно вече има стойност (последната от цикъла).
Разбрах логиката ти. Не знам защо точно се получава така, защото не съм запознат в дълбочина с lambda expressions, но ако извадиш names[0] в отделен стринг (да речем nameToBeRemoved) и напишеш
RemoveAll(name => name == nameToBeRemoved) всичко работи както трябва.