KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a recursive function that returns all subtree nodes, given the starting root node. private IEnumerable<Node> getAllNodesRecursively(Node subnode) { foreach (Node node in subnode.Nodes) getAllNodesRecursively(node); yield return subnode; } For the following tree structure: A | +--B | +--C | | | +--D | +--E When I try to iterate as such: foreach (Node n in getAllNodesRecursively(a)) { Console.WriteLine(n); } the function returns the only the A value. I wish to use yield-return with recursion and retrieve elements in the Preorder (A, B, C, D, E in this example). (If I put the yield return before the foreach, the foreach would never happen). Is this possible?
Tags (comma-separated)
Save Edits
Cancel