Обычно мы конвертируем плоский список в иерархический список, но в моем случае я хочу преобразовать иерархический список в плоский список.Как преобразовать иерархический список в плоский список?
У меня есть иерархический list<T>
, и я хочу преобразовать этот иерархический список в плоский класс list<T>
.
Скажем, у меня есть ниже иерархический список
Parent1
--- Child1 ,F1
----Child2, F2
----Child2, F3
Parent2
----Child2,F2
----Child4,F6
Parent3
--- Child1 ,F1
Мне нужен выход, как показано ниже:
Parent1, Child1,F1
Parent1, Child2,F2
Parent1, Child2,F3
Parent2,Child2,F2
Parent2,Child4, F6
Parent3, Child1,F1
Мы должны были бы увидеть реальную структуру класса, чтобы дать содержательный ответ, но я хотел бы попробовать использовать 'SelectMany' и вернуться, когда вы застряли. –
Возможный дубликат [Как сгладить дерево через LINQ?] (Http://stackoverflow.com/questions/11830174/how-to-flatten-tree-via-linq) –
Привет, Д. Стэнли, я только что привел приведенный выше пример для вашего понимания, у меня очень классная структура bis, которую я не могу обеспечить, beacz класс очень большой. как вы упомянули, используя selectmany, как я могу это сделать. Не могли бы вы привести пример кода. – user1818042