recursion - Recursive lambda expression to traverse a tree in C# -
can show me how implement recursive lambda expression traverse tree structure in c#.
ok, found free time finally.
here go:
class treenode { public string value { get; set;} public list<treenode> nodes { get; set;} public treenode() { nodes = new list<treenode>(); } } action<treenode> traverse = null; traverse = (n) => { console.writeline(n.value); n.nodes.foreach(traverse);}; var root = new treenode { value = "root" }; root.nodes.add(new treenode { value = "childa"} ); root.nodes[0].nodes.add(new treenode { value = "childa1" }); root.nodes[0].nodes.add(new treenode { value = "childa2" }); root.nodes.add(new treenode { value = "childb"} ); root.nodes[1].nodes.add(new treenode { value = "childb1" }); root.nodes[1].nodes.add(new treenode { value = "childb2" }); traverse(root);
Comments
Post a Comment