сравнить 2 списка на поиск элементов Contains
необходимо сравнить 2 списка List. Если содержится в списке слово с другим словом, то ничего не делаем, иначе пишем в стрингбилдер. Я знаю что для сравнения с одним элементом используется Contains и у меня выходит рабочая версия:
foreach (var item in items)
{
if (item.Key.ToLower().Contains("connection"))
continue;
sb.AppendLine($"{item.Key}: {item.Value}");
}
Но как я могу сделать Contains не с одним словом, а с другим списком стрингов? Т.Е у меня будет лист
List<string> list = new List<string>() {"connection","cinnection"} и вот как мне в цикле foreach сравнивать каждый элемент со всеми элементами в списке list?
Ответы (1 шт):
Автор решения: Frehzy
→ Ссылка
var list1 = new List<string>()
{
"word1", "Word2", "word3"
};
var list2 = new List<string>()
{
"word4", "word5", "word2"
};
var result = list1.Select(x => x.ToLower()).Intersect(list2.Select(x => x.ToLower())).ToList(); //"word2"
UPD (сокращённый вариант aepot):
var result = list1.Intersect(list2, StringComparer.OrdinalIgnoreCase).ToList(); //"word2"