递归方法计算树节点级别
有一个树形菜单:
1 XX0
1.1 XX1
1.1.1 XX2
1.1.1.1 XX3
1.2 XX4
1.2.1 XX5
1.2.2 XX6
1.2.2.1 XX7
2 XX8
2.1 XX9
2.1.1 XX10
...
----------------------------------------------------------------
我写了一个递归的方法:
private void test(...){
//查询数据
for(查询出来的数据){
test(...);
}
}
我想要得到所有树节点是几级节点。
比如:1.1是2级节点 1.1.1是3级节点 1.1.1.1是4级节点
把级别都输出来。
------解决方案--------------------设置一个全局变量,调用一次就加1
------解决方案--------------------按你这么算,好像用字符串排一下序就有了
var items = new string[] { "1", "2.2.1.1", "1.1", "1.2", "1.1.1", "1.1.1.1", "2.1", "1.2.1", "1.2.2", "2.1.1" };
Array.Sort(items);
for (int i = 0; i < items.Length; i++)
{
Console.WriteLine("{0}:{1}", items[i], i);
}
/*
1:0
1.1:1
1.1.1:2
1.1.1.1:3
1.2:4
1.2.1:5
1.2.2:6
2.1:7
2.1.1:8
2.2.1.1:9
*/
------解决方案--------------------int a = 0;
private void test(...){
//查询数据
for(查询出来的数据){
a++;
test(...);
}
}
这样吧,刚才那样是多了一层的
------解决方案--------------------看你上面写的是xx4,以为那个就是你要的呢
不知道你具体的级别是怎么划分的,判断有几个点?
------解决方案--------------------"2.2.1.1".Split('.').Count();