private void RemoveEmptyNodes(AreaNode node) { if (node == null) { return; } if (node.Children != null) { for (int i = 0; i < node.Children.Count; i++) { AreaNode subNode = node.Children[i]; if (subNode.IsSelftEmpty()) { node.Children.RemoveAt(i); i--; } else { RemoveEmptyNodes(subNode); if (subNode.IsSelftEmpty()) { node.Children.RemoveAt(i); i--; } } } } }
private void RemoveEmptyNodes(AreaNode node) { try { if (node == null) { return; } if (node.Children != null) { for (int i = 0; i < node.Children.Count; i++) { AreaNode subNode = node.Children[i]; if (subNode.IsSelftEmpty()) { node.Children.RemoveAt(i); i--; } else { RemoveEmptyNodes(subNode); if (subNode.IsSelftEmpty()) { node.Children.RemoveAt(i); i--; } } } } } catch (System.Exception ex) { Log.Error(tag, "RemoveEmptyNodes", ex.ToString()); } }