Они всегда в списке, который становится иерархическим по порядку? Я бы предложил создать простой класс-оболочку ... извините за синтаксис, так как я уже некоторое время играю в C #:
public class Node {
public string description;
public Node child;
public Node(List<string> descriptions) {
this.description = descriptions.RemoveAt(0);
if (descriptions.Count > 0) {
this.child = new Node(descriptions); //create child node with remaining items
}
}
}
Это будет иметь значение, если вы передадите список без элементов в конструктор, но это легко исправить.