Как удалить дубли в разных списках?

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
Задача.

Есть список А и список Б

Список А имеет:
1
2
3
4
5

Список Б имеет:
123
321
22
33
1
52
2
43
3
334
4
5

Нужно из списка Б удалить все строки, которые есть в списке А

Как?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
если список Б именно нужен будет очищенный то в цикле взяв строку из списка А, если из двух списков один нужен, то объедени и удали дубли
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
В итоге список А не нужен, можно его удалить, мне надо именно чтобы значения списка А были удалены в списке Б ...
Если делать циклом, это просто уйма времени уйдет... в данном случае 35к строк
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
в списке А могут быть значения которых нет в Б ?
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
нет, список А создается из списка Б по сути...
Например сайты по которым уже есть действия, но шаблон доработан, и надо пройтись еще раз, НО не по сайтам которые уже были, это и есть список А
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
ну тогда объедени и удали те значения которые повторяются больше одного раза через linq, код на форуме где то есть
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
C#:
var listA = project.Lists["listA"];
var listB = project.Lists["listB"];

var listC = listA.Concat(listB);

var buff = (from q in listC group q by q into l
    where l.Count() == 1 select l.Key).ToList();
   
listB.Clear();
listB.AddRange(buff);
 
  • Спасибо
Реакции: backoff

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
ты там только паузу поставь между последними дмумя строками, так как строк много может ничего не записаться
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 482
Баллы
113
все ок, проверил, работает, за мгновение все удаляет! (тот способ, на который ссылку дал)
спс
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
все ок, проверил, работает, за мгновение все удаляет! (тот способ, на который ссылку дал)
спс
зная linq шаблон в во много разы можно уменьшить потребления всего
 

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