Вам необходимо создать список списков:
LinkedList<LinkedList<int>> l = new LinkedList<LinkedList<int>>();
Но это зависит от вашей конкретной проблемы.
Если вы хотите иметь больше контроля над тем, что вы хотите сохранить, вам следуетсоздайте свою собственную структуру данных и сохраните ее в списке:
public class MyNodeData
{
public MyNodeData()
{
Children = new LinkedList<MyNodeData>();
}
public MyNodeData(int i, string s)
: this()
{
MyInt = i;
MyString = s;
}
public int MyInt { get; set; }
public string MyString { get; set; }
public LinkedList<MyNodeData> Children { get; private set; }
}
Это просто пример, и вы можете определить любые свойства любого типа по любому желаемому имени.
Затем добавьте данные:
LinkedList<MyNodeData> l = new LinkedList<MyNodeData>();
var d = new MyNodeData();
d.MyInt = 10;
d.MyString = "Node message";
d.Children.AddLast(new MyNodeData(11, "Child 1 message"));
d.Children.AddLast(new MyNodeData(12, "Child 2 message"));
l.AddLast(d);
Console.WriteLine(l.First.Value.MyString);
Console.WriteLine(l.First.Value.Children.Last.Value.MyInt);