using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MyCode.Project.Infrastructure.Trees { /// /// 树节点扩展 /// public static class TreeNodeExtensions { /// /// 获取当前节点的所有子节点 /// /// 当前节点 /// public static IEnumerable GetLeafNodes(this TreeNode treeNode) { foreach (TreeNode child in treeNode.Children) { if (child.Children.Any()) { foreach (var descendant in GetLeafNodes(child)) { yield return descendant; } } else { yield return child; } } } } }