c# - 如何退出递归函数?

标签 c# recursion

我正在开发一个使用递归函数的程序。

我的问题是当递归函数的工作完成后,控制转移到下一个函数,它在完成下一个函数的工作后返回到递归函数。

我需要一些代码可以强制从控制权转移回功能。我不想退出我的程序。

public void function1(a, num)
{
  if(a >= num)
  {
    if(a > num)
      function1(a, num);
    else if(a == num)
    {
      a++;
      function1(a, num)
    }
  }
  else
    function2(a, num)
}

public void function2(a, num)
{
  //print result;
}

每次调用 function1 时,我都会对变量 anum 进行一些更改。但问题是,在某些情况下,当 function2 被调用时,控制权会再次传递给 function1。你能给我一些代码来防止这种情况发生吗?这是我正在设计的时间表生成器的一部分。

最佳答案

Put a return whenever you want to return to base

关于c# - 如何退出递归函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12436745/

相关文章:

php - 递归 array_diff()?

c# - 如何将 Nullable T 作为返回类型?

c# - MYSQL 计数或求和默认值

c# - 将相机放在球体中以产生空间效果

c++ - 递归公式

generics - 递归,通用类型 - 深度类型检查

bash - 递归搜索文件

c# - C# 中的泛型与非泛型性能

c# - 如何处理可自定义的热键设置?

java - 我不明白为什么这个递归不起作用