.NET 2.x Найти все конечные элементы рекурсивного списка используя Linq - C#
Формулировка задачи:
Есть список List<Node>,
Node содержит List<Node> Nodes,
Нужно найти все Nodes где Count>0
Понятно, что можно функцию рекурсивную написать, может у кого есть идеи как с помощью Linq это сделать?
Решение задачи: «.NET 2.x Найти все конечные элементы рекурсивного списка используя Linq»
textual
Листинг программы
public IEnumerable<Node> AllNodes(Node start) { Queue<Node> qe = new Queue<Node>(); qe.Enqueue(start); while (qe.Count > 0) { var fst = qe.Dequeue(); yield return fst; foreach (Node nd in fst.Children) qe.Enqueue(nd); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д