首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么中断for()递归

2013-03-25 
如何中断for()递归static UFD searchfather(string fathername,UFD rootnode){//递归地寻找以home为根的na

如何中断for()递归

static UFD searchfather(string fathername,UFD rootnode)
        {//递归地寻找以home为根的name为fathername的节点
            //如何打断for()递归
            if (rootnode.name == fathername && rootnode.childUFD.Count < rootnode.childUFDcount)// && isGo==true)
            {
                return rootnode;
            }
            else
            {
                for (int i = 0; i < rootnode.childUFDcount; i++)
                {
                    searchfather(fathername, (rootnode.childUFD[i]) as UFD);
                }
            }
            return null;
        }


找到节点并返回后,程序还会继续执行。请问该怎么改或者其他什么好的算法。
[解决办法]
for (int i = 0; i < rootnode.childUFDcount; i++)
                {
                    var ufd=searchfather(fathername, (rootnode.childUFD[i]) as UFD);
                        if(ufd != null)
                        {
                            return ufd;
                        }
                }

热点排行