Loading...
Hristo_Penchev avatar Hristo_Penchev 389 Точки

[Technical Issue] C# Basics - RemoveAll метод

Здравейте,

Как мога да премахна дадена дума от някакъв стринг лист навсякъде?

 

names.RemoveAll(names[0]); - това ми дава инвалиден аргумент. В интернет намерих някакви ламбада изрази, но не можах да се оправя - трият каквото, където и когато си поискат. Някой може ли да ми помогне? Искам да изтрия всички позиции в листа, които съвпадат с думата, написана в names[0].

Тагове:
0
Programming Basics
mihayloff14 avatar mihayloff14 824 Точки

...RemoveAll(name => name == names[0])

Това би трябвало да свърши работа и да, използват се lambda изрази.

0
Hristo_Penchev avatar Hristo_Penchev 389 Точки

Това го опитах но не работи както трябва. Трие каквото си иска. Може би нещо друго по кода ми не е както трябва. Става дума за задача 12 от последното домашно Count of Names. Идеята ми е да подредя листа по азбучен ред, да проверя за първото име колко пъти се появява, да го изпечатам и да го изтрия навсякъде, където се появява.

Ето кода:

http://pastebin.com/saLPKPdY

 

Благодаря предварително!

 

0
RoYaL avatar RoYaL Trainer 6849 Точки

А пробва ли с друго име в callback-а? Тъй като ползваш елемента от форийча, който най-вероятно вече има стойност (последната от цикъла).

1
mihayloff14 avatar mihayloff14 824 Точки

Разбрах логиката ти. Не знам защо точно се получава така, защото не съм запознат в дълбочина с lambda expressions, но ако извадиш names[0] в отделен стринг (да речем nameToBeRemoved) и напишеш

RemoveAll(name => name == nameToBeRemoved) всичко работи както трябва.

 

1
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Аз съм го направил така (предполагам точно тази задача решаваш): 

09. RemoveNames

0
tdsamardzhiev avatar tdsamardzhiev 77 Точки

Здравейте,

 

Може би ще Ви е по-удобно за частта с премахването да използвате Except:

IEnumerable.Except

 

П.П.

Задачата на Hristo_Penchev е различна от Вашата, така че сме малко OffTopic :) 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.