Как удалить из списка данные, которые есть в другом списке?

пылающий дракончик

Пользователь
Регистрация
09.03.2024
Сообщения
98
Благодарностей
4
Баллы
8
Есть два списка, А и Б, как убрать значения, которые есть в списке Б из списка А?

То есть, если значение: youtube.com из списка Б находится в списке А, то нужно удалить его из списка А
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 656
Благодарностей
9 224
Баллы
113
Есть два списка, А и Б, как убрать значения, которые есть в списке Б из списка А?

То есть, если значение: youtube.com из списка Б находится в списке А, то нужно удалить его из списка А
На форуме было достаточно много разных реализаций очистки списков от дублей.
Вот одна из них, которой лично пользовался и был очень доволен быстротой работы на больших списках.

 

пылающий дракончик

Пользователь
Регистрация
09.03.2024
Сообщения
98
Благодарностей
4
Баллы
8
На форуме было достаточно много разных реализаций очистки списков от дублей.
Вот одна из них, которой лично пользовался и был очень доволен быстротой работы на больших списках.

не могу зайти по ссылке, есть другие темы?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 656
Благодарностей
9 224
Баллы
113

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 656
Благодарностей
9 224
Баллы
113
не могу зайти по ссылке, есть другие темы?
А пока вот - скопировал снипет C# по ссылке, которую давал выше.

C#:
List<string> bad = project.Lists["стоплист"].ToList();//стопслова
List<string> mix = project.Lists["все в куче"].ToList();//потенциальные счастливцы
var good =project.Lists["листсчастья и печенек"];//те, кото будем осчастливливать точно
List<string> kostyl = new List<string>();//важный элемент индусского кода
//блок очень сложного индусского кода
kostyl=mix.Except(bad).ToList();
foreach(string data in kostyl)
{good.Add(data);}
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 828
Благодарностей
1 524
Баллы
113
Есть два списка, А и Б, как убрать значения, которые есть в списке Б из списка А?

То есть, если значение: youtube.com из списка Б находится в списке А, то нужно удалить его из списка А
C#:
List<string> listA = project.Lists["A"].ToList(); // Список A
List<string> listB = project.Lists["B"].ToList(); // Список B

// Удаляем значения из A, которые присутствуют в B (без учета регистра)
listA = listA.Except(listB, StringComparer.OrdinalIgnoreCase).ToList();

// Сохраняем обновленный список A обратно в список ZennoPoster
project.Lists["A"].Clear();
foreach (var item in listA)
{
    project.Lists["A"].Add(item);
}
 

dihard

Client
Регистрация
08.11.2019
Сообщения
307
Благодарностей
48
Баллы
28
C#:
// Получаем списки A и B
var listA = project.Lists["A"];
var listB = project.Lists["B"];

// Удаляем значения из A, которые присутствуют в B (без учета регистра)
var updatedListA = listA.Except(listB, StringComparer.OrdinalIgnoreCase).ToList();

// Очищаем список A и добавляем обновленные значения
listA.Clear();
listA.AddRange(updatedListA);
 

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