我使用树控件来查看一些基于嵌套(父子)表的分层项目。
每个节点都有一个 NameValue 格式,接受 name 和 value 。
但只有叶子(最后一个节点)具有整数值,并且父节点的值保留为空(仅是它们具有的名称)。
我想总结值,以便每个父节点都保存其子节点和叶子值的总和。
我认为需要递归或者 LINQ 来完成这项任务,但我不知道如何实现?
也许一些伪代码对我有帮助。
先谢谢您的帮助!
这是未经测试的,但我认为设置所有节点的所有值可能有效:
public void SetNodeValues(Node node)
{
if (node.Name == String.Empty)
{
//If it has no name it is a leaf, which needs no value
return;
}
else
{
//Make sure all child-nodes have values
foreach (var childNode in node.ChildNodes)
{
SetNodeValues(childNode);
}
//Sum them up and set that as the current node's value
node.Value = node.ChildNodes.Sum(x => x.Value);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)