Удаление одинаковых строк в списке

ffeniks

Client
Регистрация
03.06.2016
Сообщения
312
Благодарностей
410
Баллы
63
Поднимаю тему http://zennolab.com/discussion/threads/udalenie-odinakovyx-strok-v-spiske.15927/
так как ответа не нашёл. Прошу обратить внимание (не дублей), а именно удаление одинаковых строк, совсем.
Прошу помощи (видимо будет сниппет C#) - я этот язык не знаю.
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
Тебе готовый пример привели в той теме. Если не можешь понять, то тогда придется делать кубиками.
 

ffeniks

Client
Регистрация
03.06.2016
Сообщения
312
Благодарностей
410
Баллы
63
Тебе готовый пример привели в той теме. Если не можешь понять, то тогда придется делать кубиками.
Кубиками не вариант, цикл долгое время займёт.
Тот вариант что там указан ( { "озеро", "лес", "лес" } ) не понятен, т.к. более 500 строк,
и если их в переменные втаскивать это тоже долго.
Возможно я и вправду не понимаю, как его реализовать.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
UPD
C#:
var lst = project.Lists["List"]; // список проекта
var tmp = lst.GroupBy(x => x)
.Where(group => group.Count() == 1)
.Select(group => group.Key).ToList();
lst.Clear();
lst.AddRange(tmp);
 
Последнее редактирование:
  • Спасибо
Реакции: sentinel и ffeniks

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
Кубиками не вариант, цикл долгое время займёт.
Тот вариант что там указан ( { "озеро", "лес", "лес" } ) не понятен, т.к. более 500 строк,
и если их в переменные втаскивать это тоже долго.
Возможно я и вправду не понимаю, как его реализовать.
Это в ПМ долго, в зенке все быстро работает. Как быстро работает можешь проверить на примере, включив отложенную отрисовку
 

ffeniks

Client
Регистрация
03.06.2016
Сообщения
312
Благодарностей
410
Баллы
63
  • var lst = project.Lists["List"]; // список проекта
  • var itemsExistingExactlyOnce = lst.GroupBy(x => x)
  • .Where(group => group.Count() == 1)
  • .Select(group => group.Key).ToList();
поставил, не работает. (список на свой поставил) , больше же ничего менять не нужно было?
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
поставил, не работает. (список на свой поставил) , больше же ничего менять не нужно было?
Конечно он не будет работать, так как Linq никогда не изменяет текущую последовательность, а создает новую
Тебе там апдейт выше скинули.
 
  • Спасибо
Реакции: ffeniks

ffeniks

Client
Регистрация
03.06.2016
Сообщения
312
Благодарностей
410
Баллы
63
  • Спасибо
Реакции: Dimionix

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)