此代码是否被视为递归?

时间:2014-04-13 12:44:36

标签: c# recursion

我有无尽的过程可以使用下一个逻辑(注意ServiceUtilities_OnReSubscribingtimer_Elapsed之间的循环) - 当在ServiceUtilities_OnReSubscribing中引发异常时,它会创建一个新的计时器{{1并且在结束时#34;如果发生“事件”,则会调度对ServiceUtilities_OnReSubscribing的调用。

我想知道C#堆栈在这种情况下是如何表现的,它被认为是递归吗?

t

我想避免由于许多递归调用而导致堆栈跟踪变满的情况。 这段代码是否被视为递归?

1 个答案:

答案 0 :(得分:1)

您的timer_Elapsed方法是从计时器线程调用的,因此它与ServiceUtilities_OnReSubscribing不在同一个调用堆栈中。

因此,您不必担心堆栈溢出,因为调用堆栈不会增长。