Сравнить каждый элемент с каждым, если есть совпадение, то соединить всю строку, в которой найдено совпадение - C#
Формулировка задачи:
Доброго времени суток!
Есть два массива строк разного размера (элементы массива разделены запятой). Необходимо сравнить каждый элемент с каждым, если есть совпадение, то соединить всю строку, в которой найдено совпадение.
Пример:
Массив 1:
цветок, растение
муха, насекомое, комар
ложка
Массив 2:
растение, кактус
вилка, ложка
Результат:
Массив 1:
цветок, растение, кактус
муха, насекомое, комар
ложка, вилка
Решение задачи: «Сравнить каждый элемент с каждым, если есть совпадение, то соединить всю строку, в которой найдено совпадение»
textual
Листинг программы
string[][] mass = new string[3][]
{ new string[] { "цветок", "растение" },
new string[] { "муха", "насекомое", "комар" },
new string[] { "ложка" } };
string[][] mass2 = new string[2][] {
new string[] { "растение", "кактус" },
new string[] { "вилка", "ложка" }};
foreach (var item in mass)
{
string[] list = item;
foreach (var item2 in mass2)
{
if (item.Intersect(item2).Count() > 0)
list = list.Concat(item2).Distinct().ToArray();
}
foreach (var wr in list.Aggregate((x,y)=> x+", "+y)) //выводим результат
Console.Write(wr);
Console.WriteLine();
}