Сравнить два списка и взять совпадения

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

Geka1989

Client
Регистрация
17.12.2016
Сообщения
184
Реакции
23
Баллы
18
Как сравнить список 1 и список 2 построчно и все совпадения перенести в список три. То есть взять первую строку с удалением и пройтись полностью по списку 2 и взять все строки которые содержат совпадения
 
Как сравнить список 1 и список 2 построчно и все совпадения перенести в список три. То есть взять первую строку с удалением и пройтись полностью по списку 2 и взять все строки которые содержат совпадения
Самому помогли, когда-то, дали такой код, работает нормально.
Код:
Развернуть Свернуть Копировать
List<string> bad = project.Lists["Old_anket_spisok"].ToList();//старый список URL
List<string> mix = project.Lists["new_spisok_anket"].ToList();//новый список URL
var good =project.Lists["out_spisok_anket"];//чистовой вариант URL
List<string> kostyl = new List<string>();//важный элемент индусского кода
//блок очень сложного индусского кода
kostyl=mix.Except(bad).ToList();
foreach(string data in kostyl)
{good.Add(data);}
gmvg1J9CLKxOq2.jpg
 
Занекропощу - а если у меня 3 списка? )))
И мне нужно получить из них одно или несколько значений, которые присутствуют во всех трех?
 
Занекропощу - а если у меня 3 списка? )))
И мне нужно получить из них одно или несколько значений, которые присутствуют во всех трех?
C#:
Развернуть Свернуть Копировать
/*создаю списки с тестовыми данными*/
var list1 = new List<string>(){"1","12","13","54"};//project.Lists["list1"];
var list2 = new List<string>(){"1","122","12","43"};//project.Lists["list2"];
var list3 = new List<string>(){"12","121","13","1"};//project.Lists["list3"];

/*фильтрую*/
var listres = list1.Where(x=>list2.Contains(x) && list3.Contains(x));
//project.Lists["listres"].AddRange(listres);//добавить результат в список проекта
project.SendInfoToLog(string.Join(",", listres));//посмотреть в лог
 
C#:
Развернуть Свернуть Копировать
/*создаю списки с тестовыми данными*/
var list1 = new List<string>(){"1","12","13","54"};//project.Lists["list1"];
var list2 = new List<string>(){"1","122","12","43"};//project.Lists["list2"];
var list3 = new List<string>(){"12","121","13","1"};//project.Lists["list3"];

/*фильтрую*/
var listres = list1.Where(x=>list2.Contains(x) && list3.Contains(x));
//project.Lists["listres"].AddRange(listres);//добавить результат в список проекта
project.SendInfoToLog(string.Join(",", listres));//посмотреть в лог
var list1 = new List<string>(){"1","12","13","54"};//project.Lists["temp"];

99969


а как вместо конструкции {"1","12","13","54"} подставить именно список temp??? я про сам синтаксис. Ваш код работает, но с перечислением значений вручную. Я хз, как это адаптировать )
 
var list1 = new List<string>(){"1","12","13","54"};//project.Lists["temp"];
а как вместо конструкции {"1","12","13","54"} подставить именно список temp??? я про сам синтаксис. Ваш код работает, но с перечислением значений вручную. Я хз, как это адаптировать )
C#:
Развернуть Свернуть Копировать
var list1 = project.Lists["temp"];
 
@Alexmd, @djaga - огромный вам респект, работает! :bp:
 
  • Спасибо
Реакции: che100 и djaga

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