[英]Return Type for recursion in c#
我们应该在c#中使用哪种返回类型?可以在c#中使用“无效”返回类型进行递归吗?
我有一个其中返回类型为void的函数,但是当我调用它时,它递归地进行了无限循环,因此对此有更好的解决方案:
我正在使用如下所述的功能:
void A()
{
//Some code
A()
}
每个递归方法序列都必须以某种方式终止。 通常,递归方法的第一部分将有一个分支,用于测试是否满足条件。 以这种方式,递归方法继续进行直到获得结果。 例如
static int Recursive(int value)
{
if (value >= 10)
{
// throw new Exception("End");
return value;
}
return Recursive(value + 1);
}
与返回类型无关。 如果没有提供条件,您的函数将进入无限循环
当您调用相同的函数时,很明显它将进入无限循环。 满足条件后,您需要退出此循环,这可以通过使用break
关键字来实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.