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

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

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

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

Sergodjan

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

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

 

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

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

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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 499
Благодарностей
10 037
Баллы
113

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 499
Благодарностей
10 037
Баллы
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
Сообщения
2 036
Благодарностей
1 834
Баллы
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
Сообщения
318
Благодарностей
51
Баллы
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);
 

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