Как Сравнить два списка?

atheroth

Client
Регистрация
06.06.2014
Сообщения
127
Благодарностей
17
Баллы
18
Привет всем. Уже часа 3 ломаю голову. Может зенкой можно решить такую задачу.

В общем, есть два списка. Нужно сравнить их и удалить только УНИКАЛЬНЫЕ значения. Значения текстовые.

Ексель можно удалить только дубли. А мне наоборот нужно. Помогите плиз :-)
 

atheroth

Client
Регистрация
06.06.2014
Сообщения
127
Благодарностей
17
Баллы
18
Или если можно с 1 списка. Я сделаю все в один список, и удалить только уникальные.
 

atheroth

Client
Регистрация
06.06.2014
Сообщения
127
Благодарностей
17
Баллы
18
Сейчас затестим))) Огромное спасибо_
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
779
Баллы
113
var list1 = project.Lists["list1"];//список 1
var list2 = project.Lists["list2"];//список 2
var list3 = project.Lists["list3"];//выходной список
list3.Clear();
list1.Except(list2).Concat(list2.Except(list1)).ToList().ForEach(s=>list3.Add(s));
return string.Join(", ", list3.ToArray());//смотрим что получилось
 
  • Спасибо
Реакции: dio-dev и sentinel

canroy

Client
Регистрация
18.03.2018
Сообщения
153
Благодарностей
26
Баллы
28
Подскажите, как положить в выходной список не уникальные строки, а дубли?
 

sergodjan66

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
18 380
Благодарностей
8 157
Баллы
113
  • Спасибо
Реакции: canroy

canroy

Client
Регистрация
18.03.2018
Сообщения
153
Благодарностей
26
Баллы
28
Сложи два списка в один.
не совсем то что мне нужно было, если кому вдруг нужно будет то вот сниппет которым решил трабл
Код:
var list1 = project.Lists["список1"];
var list2 = project.Lists["список2"];
var list3 = list1.Intersect(list2);
project.Lists["дубли между двумя списками выше"].AddRange(list3);
 

Agent

Client
Регистрация
25.12.2018
Сообщения
139
Благодарностей
45
Баллы
28
Надстройка PLEX для Excel как вариант.
 

Sewanew

Пользователь
Регистрация
28.01.2017
Сообщения
133
Благодарностей
3
Баллы
18
поясню изначально что планировалось, zp пишет только тем кому он ещё не писал, поэтому в одну переменную берём имя того кому пишем, а в другую список кому уже писали, и как то надо сравнить эти две переменные, что бы понять отправлялось ли сообщение этому idname или еще нет.
 

Rimen

Client
Регистрация
28.10.2019
Сообщения
351
Благодарностей
174
Баллы
43
не совсем то что мне нужно было, если кому вдруг нужно будет то вот сниппет которым решил трабл
Код:
var list1 = project.Lists["список1"];
var list2 = project.Lists["список2"];
var list3 = list1.Intersect(list2);
project.Lists["дубли между двумя списками выше"].AddRange(list3);
Полезный код... но нашлась задачка которую не покрывает:
• есть чистый чистый список (список 3)
• есть список (список 1) с данными типа ключ: частотность. Пример строки выглядит так: купить холодильник: 41131
• есть второй список (список 2) который содержит только ключ (без частотности). т.е. строка будет иметь вид купить холодильник

Задача: необходимо сравнить список 1 и список 2, и когда ключ совпадает -- положить всю строку из список 1 в список 3 (с частотностью, вида купить холодильник: 41131)
 

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