Удаление из списка 1, то что есть в писке 2

  • Автор темы Автор темы Jerard
  • Дата начала Дата начала

Jerard

Client
Регистрация
11.04.2013
Сообщения
510
Реакции
227
Баллы
43
В общем есть список 1, из него нужно удалить строки которые есть в списке 2.
Записей много, около 1 млн.
Щас сделано так:
lrbSAPWsSHIPhIZEB9nTT5KBTt3-Bf2rhr1m-sSaRcD4Hk5VsC2oBX-yP-XUd-BGW4O7jlA8W1Yb1y_vPBCkGg==

Но этот вариант занимает уж оочень много времени.
Как можно сделать это быстрее?
 
Это выполнится В постере быстрее
В PM отрисовка экшенов же.
 
Последнее редактирование:
В том то и дело что не выполняется так...
Браузер выключен. Но от файла ушел только 1мб за часа 2 наверно...
 
При работе в ZP?
 
Попробуйте так:
Код:
Развернуть Свернуть Копировать
lock(SyncObjects.ListSyncer)

{

    List<string> list = new List<string>(project.Lists["Список 1"].Except(project.Lists["Список 2"]).ToList());

    project.Lists["Список 1"].Clear();

            foreach (var item in list)

            {

                project.Lists["Список 1"].Add(item);

            } 

}
На 2-х ядерном процессоре по 3 ГГц код выполняется меньше секунды.
В одном списке 1 млн. строк, во втором 500 тыс.
 
Код поможет, да
 
А как можно получить разницу если список из строк среди которых есть дубли, а второй тот же список, но без дублий?
Как можно получить разницу среди них? Снипет оставляет список 1 пустым=(
вот хочется извлечь именно те что дублируются
 
Попробуйте так:
Код:
Развернуть Свернуть Копировать
lock(SyncObjects.ListSyncer)

{

    List<string> list = new List<string>(project.Lists["Список 1"].Except(project.Lists["Список 2"]).ToList());

    project.Lists["Список 1"].Clear();

            foreach (var item in list)

            {

                project.Lists["Список 1"].Add(item);

            }

}
На 2-х ядерном процессоре по 3 ГГц код выполняется меньше секунды.
В одном списке 1 млн. строк, во втором 500 тыс.




Это именно то что так долго искал. Спасибо Большое за этот сниппет!
 

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