Вопрос по коду

Animal

Client
Регистрация
15.06.2016
Сообщения
734
Благодарностей
129
Баллы
43
Есть код по удалению дублей:
Код:
var list = project.Lists["Список 1"];
var buffer = (from q in list
group q by q into l
where l.Count() == 1
select l.Key).ToList();
list.Clear();
list.AddRange(buffer);
Т.е., если в списке попадаются две или более дублирующие строки, то они удаляются все вместе.
Как допилить данный код под следующую задачу:
Есть три текстовых файла: Users, Black_list, Cache_black_list. Отпарсеный список юзеров ставиться в Users, затем список юзеров из Users и Black_list перекидываются в Cache_black_list (список юзеров из Users при этом удаляется) В Cache_black_list удаляются дубли вышеуказанным кодом. То, что осталось в списке Cache_black_list переносится в Users и в Black_list.
Как допилить данный код под данную задачу?
 
Последнее редактирование:

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
В Cache_black_list удаляются дубли вышеуказанным кодом.
Для удаления дублей есть более простой способ, воспользоваться методом Distinct() - https://professorweb.ru/my/LINQ/base/level2/2_9.php

Как допилить данный код под данную задачу?
Создать три списка, привязать к ним нужные файлы и работать с ними.
C#:
var users = project.Lists["Users"];
var black_list = project.Lists["Black_list"];
var cache_black_list = project.Lists["Cache_black_list"];

cache_black_list.Clear();
cache_black_list.AddRange(users);
cache_black_list.AddRange(black_list);

users.Clear();

//удаляем дубли
var temp = new List<string>(cache_black_list);
cache_black_list.Clear();
cache_black_list.AddRange(temp.Distinct());

users.AddRange(cache_black_list);
black_list.AddRange(cache_black_list);
 
  • Спасибо
Реакции: Dimionix и Animal

Animal

Client
Регистрация
15.06.2016
Сообщения
734
Благодарностей
129
Баллы
43
Создать три списка, привязать к ним нужные файлы и работать с ними.
Благодарю за код!
Я эту задачу решал при помощи 9 экшенов - напряжно, особенно когда перекидывать из шаблона в шаблон. Еще раз благодарю за код.
 

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