Я пытаюсь объединить два общий список с помощью LINQ-Как объединить два списка и объединить его внутренние списки без дублирования в C#
List<LinkedTable> FirstLink
List<LinkedTable> SecondLink
Как показано в приведенном ниже класса, мой общий список самого по себе имеет родовой список в нем.
public class LinkedTable
{
public string TableId { get; set; }
public string TableName { get; set; }
public List<Link> innerLinks { get; set; }
}
public class Link
{
public Boolean linkFlag;
public string Descriptor { get; set; }
public string RecordId { get; set; }
}
Когда я объединить два списка, новый список не содержит оба «innerLinks» записи FirstLink и SecondLink. Я попытался следующий код:
FirstLink = FirstLink.Concat(SecondLink)
.GroupBy(e1 => e1.TableId)
.Select(e2 => e2.FirstOrDefault())
.ToList();
Теперь FirstLink получит все таблицы, сгруппированные по «TABLEID», но несколько «innerLinks» из SecondLink отсутствует.
Мне нужен список «innerLinks» от FirstLink и SecondLink в новом объединенном списке без повторения.
Пример:
FirstLink[0].innerLinks[0]
.innerLinks[1]
.innerLinks[2]
SecondLink[0].innerLinks[1]
.innerLinks[2]
.innerLinks[3]
Merged Ссылка должна быть:
FirstLink[0].innerLinks[0]
.innerLinks[1]
.innerLinks[2]
.innerLinks[3]
вы пробовали что-то вроде 'Еогеаспа (вар пункта в SecondLink) {FirstLink.Add (пункт);}' – Sam07
Возможного дубликат [Как для объединения двух списков с использованием LINQ?] (http://stackoverflow.com/questions/4872943/how-to-merge-two-lists-using-linq) –