Crie uma estrutura de dados em árvore simples e de alto desempenho em c #

Preciso criar um catálogo de produtos, no tipo de árvor

todo nó da árvore apresenta por um ID (string), as funções nos dados da árvore apenas 2:

getChild(string ID), forneça um ID, obtenha filhos (não é necessário incluir filhos dos filhos); se o ID for nulo, obtenha todos os nós raizgetParent(string ID), retorne o ID pai se tiver, ou null se for root

Desde que a árvore decidiu, não mudará, então acho que colocar todo o código estático será o melhor. Então eu começo a tentar usar o Dictionary

"id": {parent:ID, child:[id2, id3, id4....]}

Como há mais de 1000 catálogos, descobri que rapidamente me atrapalho, muitos erros nos dados estáticos e faço com que o resultado final seja utilizável. Além disso, agora eu escrevi apenas dezenas e o código parece uma bagunç

Consulte uma maneira de criar essa árvore de catálogo simples com alto desempenho. Obrigad

questionAnswers(6)

yourAnswerToTheQuestion