Благодаря nHibernate некоторые из структур данных, с которыми я работаю, являются списками внутри списков в списках. Так, например, у меня есть объект данных, называемый "категория", который имеет свойство .Children, которое разрешает список категорий... каждый из которых может иметь детей... и т.д. И т.д.
Мне нужно найти способ начать в категории верхнего уровня в этой структуре и получить список или массив или что-то подобное из всех детей во всей структуре - так что все дети всех детей и т.д. и т.д., сплющены в один список.
Я уверен, что это может быть сделано с рекурсией, но я нахожу рекурсивный код болью, чтобы работать, и я убежден, что в .Net 4 должен быть более простой способ использования Linq или somesuch - любые предложения?