C# 基于子节点计算父节点值';s值
我将使用枚举整数值,通过添加int值并与子节点计数进行比较,得出父节点上的状态(无、等于或包含)。我将感谢任何帮助和提前感谢C# 基于子节点计算父节点值';s值,c#,tree,traversal,C#,Tree,Traversal,我将使用枚举整数值,通过添加int值并与子节点计数进行比较,得出父节点上的状态(无、等于或包含)。我将感谢任何帮助和提前感谢 public static void SelectionSetContainment(Node<SelectionSetCheckNode> root, NW.ModelItemCollection currentSelection) { foreach (Node<SelectionSetCheckNode> savedItem
public static void SelectionSetContainment(Node<SelectionSetCheckNode> root, NW.ModelItemCollection currentSelection)
{
foreach (Node<SelectionSetCheckNode> savedItem in root.Children)
{
var node = savedItem.Value.SavedItem;
if (node is NW.SelectionSet selectionSet)
{
var selectionSetItems = selectionSet.GetSelectedItems();
if (currentSelection.IsContentsIntersected(selectionSetItems))
savedItem.Value.State = currentSelection.IsSelected(selectionSetItems) ? CheckState.Equals : CheckState.Contains;
}
else if (node is NW.FolderItem)
SelectionSetContainment(savedItem, currentSelection);
}
}
false
/ | \
true true false
/ \
true true