我使用树控件来查看基于嵌套(父子)表的一些分层项目。
每个节点都有接受名称和值的 NameValue 格式。
但只有叶子(最后一个节点)有整数值, parent 的值留空(只有他们的名字)。
我想汇总值,以便每个父节点都保存其子节点和叶值的总和。
我认为完成此任务需要递归或 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);
}
}
关于c# - 汇总树上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691902/