读书人

怎么中断for()递归

发布时间: 2013-03-25 15:43:04 作者: rapoo

如何中断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;
}
}

读书人网 >C#

热点推荐