Cree una estructura de datos de árbol simple y de alto rendimiento en c #

Necesito crear un catálogo de productos, en tipo de árbol.

ada nodo de árbol se presenta mediante una ID (cadena), las funciones en los datos del árbol solo 2:

getChild(string ID), proporcione una ID, obtenga hijos (no es necesario incluir los hijos de los niños), si la ID es nula, obtenga todos los nodos raízgetParent(string ID), devuelve el ID principal si tiene, o nulo si es root

Desde que el árbol lo decida, no cambiará, así que creo que poner todo el código en estático será lo mejor. Así que empiezo a intentar usar Dictionary

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

Dado que hay más de 1000 catálogos, descubrí que rápidamente me equivoco, cometo muchos errores en los datos estáticos y hago que el resultado final sea utilizable. Además, ahora solo escribí docenas y el código parece desordenado.

Por favor, aconseje una forma de crear este árbol de catálogo simple con alto rendimiento. Gracia

Respuestas a la pregunta(6)

Su respuesta a la pregunta